use strict;
use Data::Dumper;
# read records
my @row = <DATA>;
my @data = map [split /\s*\|\s*/], @row;
print Dumper(\@data), "\n\n";
my @CopyOfData;
my @excluded;
for my $row_index (0..$#data) {
# find rows to skip
if ( $data[$row_index][1] =~ /mmartin/ ) {
push(@excluded, $row_index);
next;
}
# copy everything else
push(@CopyOfData, $data[$row_index]);
}
print Dumper(\@CopyOfData), "\n";
print Dumper(\@excluded), "\n"; # 2, 7
__DATA__
922337219576856 |rgiles |5005444 |156 |pts/220 |9:00:44
922337219576856 |mrandall |3309650 |35 |none |9:10:44
922337219576856 |mmartin |4565899 |122 |pts/101 |9:15:44
59761456123786 |rkelly |5555555 |999 |pts/900 |9:00:00
59761456123786 |mvick |1234567 |886 |none |9:20:00
59761456123786 |jrussel |7654321 |456 |tty/101 |10:00:00
86555522211 |cklien |5151515 |000 |tty/100 |10:00:00
86555522211 |mmartin |1234567 |987 |none |11:00:00