10-30-2014
How does it work? It words badly, if at all.
That is some seriously broken code. Even if the match code is fixed, it will only examine the first State *sp pointer because of the break statement in the outer for loop.
And then, if create is non-zero and the upper loops didn't find a match at the first node, it will stuff the passed-in data onto the hash table even if it already exists further down the linked list.
10 More Discussions You Might Find Interesting
1. UNIX for Advanced & Expert Users
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
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
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
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
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
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
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
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. Shell Programming and Scripting
hello,
i am new to scripting and would like to know how to return a hash table from a sub routine.
i tried the following,
my %hash_function = ();
hash_function = &return_hash();
sub return_hash
{
my %hash = ();
///populate the hash
return %hash;
}
but it dosent seem to... (1 Reply)
Discussion started by: hemalathak10
1 Replies
10. Shell Programming and Scripting
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
LEARN ABOUT DEBIAN
tie::hash::regex
Tie::Hash::Regex(3pm) User Contributed Perl Documentation Tie::Hash::Regex(3pm)
NAME
Tie::Hash::Regex - Match hash keys using Regular Expressions
SYNOPSIS
use Tie::Hash::Regex;
my %h;
tie %h, 'Tie::Hash::Regex';
$h{key} = 'value';
$h{key2} = 'another value';
$h{stuff} = 'something else';
print $h{key}; # prints 'value'
print $h{2}; # prints 'another value'
print $h{'^s'}; # prints 'something else'
print tied(%h)->FETCH(k); # prints 'value' and 'another value'
delete $h{k}; # deletes $h{key} and $h{key2};
or (new! improved!)
my $h : Regex;
DESCRIPTION
Someone asked on Perlmonks if a hash could do fuzzy matches on keys - this is the result.
If there's no exact match on the key that you pass to the hash, then the key is treated as a regex and the first matching key is returned.
You can force it to leap straight into the regex checking by passing a qr'ed regex into the hash like this:
my $val = $h{qr/key/};
"exists" and "delete" also do regex matching. In the case of "delete" all vlaues matching your regex key will be deleted from the hash.
One slightly strange thing. Obviously if you give a hash a regex key, then it's possible that more than one key will match (consider
c<$h{qw/./}>). It might be nice to be able to do stuff like:
my @vals = $h{$pat};
to get all matching values back. Unfortuately, Perl knows that a given hash key can only ever return one value and so forces scalar context
on the "FETCH" call when using the tied interface. You can get round this using the slightly less readable:
my @vals = tied(%h)->FETCH($pat);
ATTRIBUTE INTERFACE
From version 0.06, you can use attributes to define your hash as being tied to Tie::Hash::Regex. You'll need to install the module
Attribute::Handlers.
METHODS
FETCH
Get a value from the hash. If there isn't an exact match try a regex match.
EXISTS
See if a key exists in the hash. If there isn't an exact match try a regex match.
DELETE
Delete a key from the hash. If there isn't an exact match try a regex match.
AUTHOR
Dave Cross <dave@mag-sol.com>
Thanks to the Perlmonks <http://www.perlmonks.org> for the original idea and to Jeff "japhy" Pinyan for some useful code suggestions.
COPYRIGHT
Copyright (C) 2001-8, Magnum Solutions Ltd. All Rights Reserved.
LICENSE
This script is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
SEE ALSO
perl(1).
perltie(1).
Tie::RegexpHash(1)
perl v5.10.0 2008-06-30 Tie::Hash::Regex(3pm)