in reply to Re: Re: Using my and library....
in thread Using my and library....
I might suggest using an array ref for each entry, or maybe an array of hashrefs or a hash of hashrefs. Examples:foreach (@lines) { my ($name,$score) = split /:/, $_; $hash_ref->{ 'name' } = $name; # replaces the old 'name' entry $hash_ref->{ 'score' } = $score; # replaces the previous 'score' + entry }
I could come up with several more data structures to store the same data but you get the idea. TMTOWTDI and as I like to always say, see whatever works best with your program and go with that.##Array of Hashrefs: my @entries; for (@lines) { # as someone once said ~if you plan to explicitly use $_ everywhere, + you might as well give it a more meaningful name or not use it at al +l.~ my ($name,$score) = split /:/; $hash_ref->{ 'name' } = $name; $hash_ref->{ 'score' } = $score; push (@entries, $hash_ref); } return( @entries); } ##Hash of Hashrefs: for (@lines) { my ($name,$score) = split /:/; $hash_ref->{ $name }{'name'} = $name; $hash_ref->{ $name }{'score'} = $score; } return($hash_ref); } ##Hash of Arrayrefs: for (@lines) { my ($name,$score) = split /:/; $hash_ref->{ $name } = [$name,$score]; } return($hash_ref); }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Re: Re: Re: Using my and library....
by kiat (Vicar) on Aug 18, 2002 at 13:03 UTC |