Sponsored Content
Top Forums UNIX for Dummies Questions & Answers Returning Hash Tables in Perl Post 4161 by mirzabhai on Thursday 19th of July 2001 03:44:33 PM
Old 07-19-2001
Computer Returning Hash Tables in Perl

Hi:

Does anybody know how to return hash tables created in a function?

I have something like so:

%a_hash_table = build_a_hash_table();

sub build_a_hash_table
{
my(%hash_table);

#some code to build hash table: "%hash_table" for e.g

return %hash_table;
}

----> This unfortunately doesn't seem to work. The hash table in the main doesn't equal the one I create in the sub routine. Any insight would be greatly appreciated. Thank you!

Smilie
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Passing Hash Tables to Subroutines

Hi: How do I pass a hash table down to a subroutine along with some other variables? For example, I have say a subroutine play_with_hash: sub play_with_hash { my( $var1, $var2, %my_hash ) = @_; #do stuff with %my_hash ........... } Then I want to call the subroutine... (1 Reply)
Discussion started by: mirzabhai
1 Replies

2. Programming

hash tables, pthread_key_create

I want to store a bunch of pthread_t types in a hash table, but since pthread_t is not an integer value, I cannot hash it. I was hoping to store a unique nonzero as key 0 for each thread with thread-specific data ala pthread_key_create/pthread_setspecific, but but as it turns out only the first... (2 Replies)
Discussion started by: Corona688
2 Replies

3. Programming

Compression algorithm( usage of Hash tables)

Hi All, i was browsing thru' the opensource glib(deflate/inflate) algorithms.. which i am supposed to implement. I came across Dictionary usage (Hash tables), LZ77 algorithm and Huffman coding in that.. i couldn't follow on the Hash table implementation in that. Anybody there to give some... (5 Replies)
Discussion started by: rvan
5 Replies

4. Shell Programming and Scripting

perl using hash

i want to ask is it i can use hash in perl to store a page number with a list of words which is in that page and then print it out? Example Page 1 contains a are boy cat ............. (a list of sorted words) how can i store it in a hash? Thank you (3 Replies)
Discussion started by: mingming88
3 Replies

5. Shell Programming and Scripting

Perl Hash:Can not keep hash data in the same order that it was inserted

Can Someone explain me why even using Tie::IxHash I can not get the output data in the same order that it was inserted? See code below. #!/usr/bin/perl use warnings; use Tie::IxHash; use strict; tie (my %programs, "Tie::IxHash"); while (my $line = <DATA>) { chomp $line; my(... (1 Reply)
Discussion started by: jgfcoimbra
1 Replies

6. Programming

Hash tables concepts

How hash tables are used to quickly locate a data record? (4 Replies)
Discussion started by: rupeshkp728
4 Replies

7. Shell Programming and Scripting

perl hash - using a range as a hash key.

Hi, In Perl, is it possible to use a range of numbers with '..' as a key in a hash? Something in like: %hash = ( '768..1536' => '1G', '1537..2560' => '2G' ); That is, the range operation is evaluated, and all members of the range are... (3 Replies)
Discussion started by: dsw
3 Replies

8. UNIX for Dummies Questions & Answers

Hash Tables of Buffers

Hello, I want to know how hash tables for buffers were implemented in Unix and now, in linux how they are implemented ? I am aware of what hashing is..also quite familiar with Unix/Linux. Special case is how device numbers comes into picture..I am curious ! If possible consider some... (0 Replies)
Discussion started by: istevan
0 Replies

9. Shell Programming and Scripting

Compare values of hashes of hash for n number of hash in perl without sorting.

Hi, I have an hashes of hash, where hash is dynamic, it can be n number of hash. i need to compare data_count values of all . my %result ( $abc => { 'data_count' => '10', 'ID' => 'ABC122', } $def => { 'data_count' => '20', 'ID' => 'defASe', ... (1 Reply)
Discussion started by: asak
1 Replies

10. Programming

Perl: restrict perl from automaticaly creating a hash branches on check

My issue is that the perl script (as I have done it so far) created empty branches when I try to check some branches on existence. I am using multydimentional hashes: found it as the best way for information that I need to handle. Saing multidimentional I means hash of hashes ... So, I have ... (2 Replies)
Discussion started by: alex_5161
2 Replies
HASH(3pub)						       C Programmer's Manual							HASH(3pub)

NAME
hash_create, hash_destroy, hash_install, hash_lookup, hash_uninstall, hash_iter - generic hash tables SYNOPSIS
#include <publib.h> Hashtab *hash_create(unsigned long (*fun)(void *), int (*cmp)(const void *, const void *)); void hash_destroy(Hashtab *ht); void *hash_install(Hashtab *ht, void *data, size_t size); void *hash_lookup(Hashtab *ht, void *data); int hash_uninstall(Hashtab *ht, void *data); int hash_iter(Hashtab *ht, int (*doit)(void *, void *), void *param); DESCRIPTION
These functions implement generic hash tables. The table is created by hash_create and destroyed by hash_destroy. The fun argument is a pointer to the hashing function, which must convert a datum to an unsigned long, which is then converted to an index into the hashing ta- ble. cmp is a qsort(3)-like comparison functions, used to compare to (wannabe) hash table elements. hash_install installs a new datum into the table. A pointer to the data and the size of the data are given as the arguments. If the size is 0, only the pointer value is copied to the table. Otherwise a copy of the data is made into dynamically allocated memory. hash_lookup attempts to find a datum in the hash table. A pointer to another datum is given as the argument. The comparison function should compare equal (return 0) the desired datum and this datum (but the argument needn't be a fully initialized datum, although that is up to the writer of the comparison function). There cannot be two elements in the hash table that are equal (the comparison function returns 0 for them). It is up to the user to handle collisions. hash_uninstall removes an element from a table. The argument is a pointer to a datum that identifies the element. hash_iter goes through every element in the hash table and calls the doit function for each. The first argument it provides to doit is the element in question, the second is whatever was given to hash_iter as param. If doit returns -1 or 0 for any element in the hash table, hash_iter immediately returns without going through the remaining elements in the hash table. Any other return value from doit is ignored. RETURNS
hash_create returns a pointer to the new hash table, or NULL if it fails. hash_install returns a pointer to an element in the table (either the installed one, or one that was already installed, if one tries to install the same datum twice). hash_uninstall returns 0 if it found the element in the array, or -1 if it didn't. hash_lookup return a pointer to the element it finds, or NULL if it doesn't find anything beautiful. hash_iter returns -1, 0, or 1. If hash_iter receives a return value of -1 or 0 for some element from doit, hash_iter immediately returns -1 or 0, respectively. In all other cases hash_iter returns 1. SEE ALSO
publib(3), qsort(3), bsearch(3) AUTHOR
Lars Wirzenius (lars.wirzenius@helsinki.fi) Publib C Programmer's Manual HASH(3pub)
All times are GMT -4. The time now is 07:51 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy