in reply to Re^4: Perl Hash
in thread Perl Hash

or if you rather just retain the first and last time for each key for which there is more than one time:

use strict; use warnings; use Data::Dumper; my %HoA; while (<DATA>) { chomp; next if ! length $_; my ($key, $time) = split ","; if (! $HoA{$key}) {push @{$HoA{$key}}, $time;} elsif (@{$HoA{$key}} == 1) {push @{$HoA{$key}}, $time;} else {${@{$HoA{$key}}}[1] = $time;} } print Dumper (%HoA);
__DATA__ KEY1, 07/25/05 09:04:36 KEY2, 07/25/05 09:04:36 KEY2, 07/25/05 09:04:37 KEY2, 07/25/05 09:05:49 KEY2, 07/25/05 09:05:50 KEY3, 07/25/05 09:05:50 $VAR1 = 'KEY2'; $VAR2 = [ ' 07/25/05 09:04:36', ' 07/25/05 09:05:50' ]; $VAR3 = 'KEY1'; $VAR4 = [ ' 07/25/05 09:04:36' ]; $VAR5 = 'KEY3'; $VAR6 = [ ' 07/25/05 09:05:50' ];

Perl is Huffman encoded by design.