I'm not sure I understand the question. I think you're asking how to print the last entry instead of the first. This code should do that:
use strict; use warnings;
my $last_key = undef;
my $last_line = <>; #get first line
while(<>)
{
my $key = (split)[0];
if (defined $last_key && $key ne $last_key)
{
#new key, print the last line from the old key
print $last_line;
}
$last_line = $_;
$last_key = $key;
}
print $last_line; #very last entry won't get printed in the while loop
|