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); }
In reply to Re: Re: Re: Using my and library....
by smalhotra
in thread Using my and library....
by kiat
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |