And just for the fun of it:
use strict ;
use warnings ;
my @clean_data ;
my %track_hash ;
while( <DATA> ) {
s/\s+$// ;
my $to_track ;
( $to_track = ( split( /\s+/ ) )[1] ) ? push( @clean_data, $_ ) :
+next ;
delete( $clean_data[ $track_hash{ $to_track } ] ) if( defined( $tr
+ack_hash{ $to_track } ) ) ;
$track_hash{ $to_track } = $#clean_data ;
}
@clean_data = map( { ( $_ ) ? $_ : () } @clean_data ) ;
foreach ( @clean_data ) {
print "$_\n";
}
__DATA__
1/2/2013 cgoo nreuiheru
1/4/2013 doow reiqrqueih
1/5/2013 hellio ruieqrhfuepqh
1/20/2013 cgoo 3rhquh4ureyh
1/30/2013 yetil jerqohgqrij
2/13/2013 hellio rueqipheruh
2/14/2013 cgoo wehrig4r74378