in reply to Re: Perl Hashes, keys under keys (I think)?
in thread Perl Hashes, keys under keys (I think)?
Absolutely, you can only have one record of a given key. So you can tweak the key like you are doing, or rethink your structure. Maybe you want the WAITING keys to be arrayrefs, pointing to lists of zero or more WAITING records.
Also, you have a lot of duplicate code. Consider consolidating like this, untested:
if ($fields[5] =~ /(OWNER|WAITING)/) { my $state = $1; # and perhaps this, for your new solution: $state .= $count if $state eq 'WAITING'; $x++; @fields = split " ", $temp[$x]; print "$state --- @fields\n"; #Add record to hash based on RECORD_ID $records{"$fields[1]"}{ $state } = { USER => "$fields[5]", FILENAME => "$fields[0]", PID => "$fields[6]", TIME => "$fields[9]", DATE => (join " ", "$fields[10] $fields[11]"), ELAPSED => [] }; #Increment to Next Line $x++; }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^3: Perl Hashes, keys under keys (I think)?
by mmartin (Monk) on Sep 20, 2011 at 19:27 UTC | |
by hbm (Hermit) on Sep 20, 2011 at 20:03 UTC | |
|
Re^3: Perl Hashes, keys under keys (I think)?
by mmartin (Monk) on Sep 20, 2011 at 20:09 UTC | |
by hbm (Hermit) on Sep 21, 2011 at 12:36 UTC | |
by mmartin (Monk) on Sep 21, 2011 at 20:51 UTC | |
by hbm (Hermit) on Sep 22, 2011 at 13:59 UTC | |
by mmartin (Monk) on Sep 22, 2011 at 15:02 UTC | |
by mmartin (Monk) on Sep 22, 2011 at 16:11 UTC |