my $filename = 'Facs_Data.txt'; open my $fh, '<', $filename or die "Couldn't open '$filename': $!"; my @lines = grep { /Acct:/ } <$fh>; # Read a file line by line and select the lines matching Acct: #### @lines = map { [ split $_, /:/ ]->[1] } @lines; # Take the side to the right of : of the line #### @lines = map { [ split $_, /:/ ]->[0] } @lines; # take the side to the left of the blank of the line #### my $filename = 'Facs_Data.txt'; open my $fh, '<', $filename or die "Couldn't open '$filename': $!"; my @lines = map { /:([^\s]+)/ ? $1 : () } # take the stuff between the : and the first blank grep { /Acct:/ } <$fh>; # Read a file line by line and select the lines matching Acct: # do whatever with the values in @lines print "$_\n" for @lines;