Sponsored Content
Top Forums Shell Programming and Scripting Return a hash table from a sub routine Post 302746809 by itkamaraj on Thursday 20th of December 2012 04:04:21 AM
Old 12-20-2012
return the reference

Code:
 
$ cat b.pl
#!/usr/bin/perl
use strict;
use warnings;
sub get_hashes();
# Get two variables back
my ($one) = get_hashes();
print "Hash Keys : ";
print "$_ " foreach keys %$one;
print "\n";
sub get_hashes() {
        my %hash1 = (
                "1a" => "b",
                "1b" => "d"
        );
        return (\%hash1);
}
 
$ perl b.pl
Hash Keys : 1b 1a

 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Creating a hash table using shell script

Hi, For one of my programs, I need to have a hashtable as in Perl. Unfortunately shell doesnt provide any variable like hash. Is there anyway/trick, I could implement a hash in shell (using shell scripts/sed/awk). JP (2 Replies)
Discussion started by: jyotipg
2 Replies

2. Programming

hash table implementations in C Language

Hello List, Iam searching for a solution where i can use hash based searching . In Detail , I have linked list which will be dynamically increasing . I need a best searching mechanisim such a way that it can take only one itereation . Right now iam using linear search which is taking... (11 Replies)
Discussion started by: vlrk
11 Replies

3. Programming

Creating a Hash Table

Dear Friends, I want to create a hash table using the standard Glib header (if possible) so that I can store a structure and keep the hash key(search key) based on a string. Any example code would be great since I am not able to get the main idea. best regards Skull (4 Replies)
Discussion started by: callmetheskull
4 Replies

4. UNIX for Dummies Questions & Answers

nested hash table

Hi, I have a nested hash table say for example as follows: %coins = ( 1 => { "Quarter"=>25, "Dime"=>10, "Nickel"=>5, }, 2 => { "asd"=>34, "qwe"=>45, ... (0 Replies)
Discussion started by: arthi
0 Replies

5. Shell Programming and Scripting

how to import external HASH table in PERL???

hello, I am creating a HASH table using file1.pl :- I want to retrieve the content of the hash table created above from another file named file2.pl :- The problem is that if I separate like this into 2 files.Then it says that HASH table is not created.So can you please tell me how to... (2 Replies)
Discussion started by: nsharath
2 Replies

6. UNIX for Advanced & Expert Users

distributed hash table operations(GET,PUT,TRANSFER) implementation

Hi, i want to implement hash table (put, get and transfer operations) using c in unix. so give some nice infromation on how to write my code. (1 Reply)
Discussion started by: kaleab
1 Replies

7. Programming

Hash table

Hi, I hope someone can help me with the following prob.. I need to implement a hashtable whose KEYs are strings and VLAUEs are again hashtables. ie key - is a string and value -is another hashtable . So.... how am I supposed to be implementing my nested hashtable? Thanks in advance (1 Reply)
Discussion started by: andrew.paul
1 Replies

8. UNIX for Dummies Questions & Answers

Hash Table like implementation in unix

Hi all, I just downloaded this example from the net. I was looking around for a hash table like implementation in unix when I came across this. ARRAY=( "cow:moo" "dinosaur:roar" "bird:chirp" "bash:rock" ) for animal in ${ARRAY} ; do KEY=${animal%%:*} ... (8 Replies)
Discussion started by: anindyabecs
8 Replies

9. Programming

Hash Table

I was looking at this script and was wondering if anyone can explain what this script does and how does it work. Thank you for any help. State* lookup(char* prefix, int create) { int i, h; State *sp = NULL ; h = hash(prefix); for (sp = statetab; sp != NULL; sp... (14 Replies)
Discussion started by: totoro125
14 Replies

10. Shell Programming and Scripting

Need to print hash of hash in table format

Hi, I have a hash of hash where it has name, activities and count i have data like this - $result->{$name}->{$activities} = $value; content of that are - name - robert tom cat peter activities - running, eating, sleeping , drinking, work i need to print output as below ... (3 Replies)
Discussion started by: asak
3 Replies
Hash::FieldHash(3pm)					User Contributed Perl Documentation				      Hash::FieldHash(3pm)

NAME
Hash::FieldHash - Lightweight field hash for inside-out objects VERSION
This document describes Hash::FieldHash version 0.12. SYNOPSIS
use Hash::FieldHash qw(:all); fieldhash my %foo; fieldhashes my(%bar, %baz); { my $o = Something->new(); $foo{$o} = 42; print $foo{$o}; # => 42 } # when $o is released, $foo{$o} is also deleted, # so %foo is empty in here. # in a class { package Foo; use Hash::FieldHash qw(:all); fieldhash my %bar, 'bar'; # make an accessor } my $obj = bless {}, 'Foo'; $obj->bar(10); # does $bar{$obj} = 10 DESCRIPTION
"Hash::FieldHash" provides the field hash mechanism which supports the inside-out technique. You may know "Hash::Util::FieldHash". It's a very useful module, but too complex to understand the functionality and only available in 5.10. "H::U::F::Compat" is available for pre-5.10, but it is too slow to use. This is a better alternative to "H::U::F" with following features: Simpler interface "Hash::FieldHash" provides a few functions: "fieldhash()" and "fieldhashes()". That's enough. Higher performance "Hash::FieldHash" is faster than "Hash::Util::FieldHash", because its internals use simpler structures. Relic support Although "Hash::FieldHash" uses a new feature introduced in Perl 5.10, the uvar magic for hashes described in "GUTS" in Hash::Util::Fieldhash, it supports Perl 5.8 using the traditional tie-hash layer. INTERFACE
Exportable functions "fieldhash(%hash, ?$name, ?$package)" Creates a field hash. The first argument must be a hash. Optional $name and $package indicate the name of the field, which will create rw-accessors, using the same name as $name. Returns nothing. "fieldhashes(@hash_refs)" Creates a number of field hashes. All the arguments must be hash references. Returns nothing. "from_hash($object, \%fields)" Fills the named fields associated with $object with %fields. The keys of %fields can be simple or fully qualified. Returns $object. "to_hash($object, ?-fully_qualify)" Serializes $object into a hash reference. If the "-fully_qualify" option is supplied , field keys are fully qualified. For example: package MyClass; use FieldHash qw(:all); fieldhash my %foo => 'foo'; sub new{ my $class = shift; my $self = bless {}, $class; return from_hash($self, @_); } package MyDerivedClass; use parent -norequire => 'MyClass'; use FieldHash qw(:all); fieldhash my %bar => 'bar'; package main; my $o = MyDerivedClass->new(foo => 10, bar => 20); my $p = MyDerivedClass->new('MyClass::foo' => 10, 'MyDerivedClass::bar' => 20); use Data::Dumper; print Dumper($o->to_hash()); # $VAR1 = { foo => 10, bar => 20 } print Dumper($o->to_hash(-fully_qualify)); # $VAR1 = { 'MyClass::foo' => 10, 'MyDerived::bar' => 20 } ROBUSTNESS
Thread support As "Hash::Util::FieldHash" does, "Hash::FieldHash" fully supports threading using the "CLONE" method. Memory leaks "Hash::FieldHash" itself does not leak memory, but it may leak memory when you uses hash references as field hash keys because of an issue of perl 5.10.0. NOTES
The type of field hash keys "Hash::FieldHash" accepts only references and registered addresses as its keys, whereas "Hash::Util::FieldHash" accepts any type of scalars. According to "The Generic Object" in Hash::Util::FieldHash, Non-reference keys in "H::U::F" are used for class fields. That is, all the fields defined by "H::U::F" act as both object fields and class fields by default. It seems confusing; if you do not want them to be class fields, you must check the type of $self explicitly. In addition, these class fields are never inherited. This behavior seems problematic, so "Hash::FieldHash" restricts the type of keys. The ID of field hash keys While "Hash::Util::FieldHash" uses "refaddr" as the IDs of field hash keys, "Hash::FieldHash" allocates arbitrary integers as the IDs. What accessors return The accessors "fieldhash()" creates are chainable accessors. That is, it returns the $object (i.e. $self) with a parameter, where as it returns the $value without it. For example: my $o = YourClass->new(); $o->foo(42); # returns $o itself my $value = $o->foo(); # retuns 42 DEPENDENCIES
Perl 5.8.5 or later, and a C compiler. BUGS
No bugs have been reported. Please report any bugs or feature requests to the author. SEE ALSO
Hash::Util::FieldHash. Hash::Util::FieldHash::Compat. "Magic Virtual Tables" in perlguts. Class::Std describes the inside-out technique. AUTHOR
Fuji, Goro (gfx) <gfuji(at)cpan.org>. LICENSE AND COPYRIGHT
Copyright (c) 2009-2010, Fuji, Goro. All rights reserved. This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. perl v5.14.2 2011-10-18 Hash::FieldHash(3pm)
All times are GMT -4. The time now is 03:07 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy