Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"
 
PerlMonks  

Re: Array indices

by Jeppe (Monk)
on Sep 16, 2002 at 13:42 UTC ( [id://198241]=note: print w/replies, xml ) Need Help??


in reply to Array indices

I would use hashes.
#!/usr/bin/perl -w use strict; my %names = ( 'john' => 'brown', 'jacob' => 'black', 'jingle' => 'gray', 'heimer' => 'greene', 'smitz' => 'purple' ); my %fullnames; foreach my $firstname (keys %names) { $fullnames{$firstname . " " . $names{$firstname}} = 1; } print "$_\n" foreach (keys %fullnames);
This way, index and order does not matter. If order matters, you can put "sort" before "keys". Not without weakness, but I like to do as much as possible along these lines. As the data gets large, the required data goes up, but search by first name is logarithimic rather than linear. You can also make a reverse hash, so that storing either way is less expensive. Then, if you need large amounts of data, you should consider pointing the hashes to arrays. You might also consider references, although I am not Monk enough to pull that off right now.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://198241]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others studying the Monastery: (2)
As of 2024-04-19 18:16 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found