#!perl use 5.12.0; use warnings; my $sought = q{sb1 1.0 142r}; my $last; while (my $line = ) { chomp $line; if ($line eq $sought) { $last =~ s{ \s+ \S+ \s* \z }{}msx; } say $last if $. > 1; $last = $line; } say $last; __DATA__ pre 2 pre 1 4.62399E+09 2.90871E+09 7.17338E+14 sb1 1.0 142r post 1 post 2 #### $ match_exp_prob.pl pre 2 pre 1 4.62399E+09 2.90871E+09 sb1 1.0 142r post 1 post 2