use strict; use warnings; use Data::Dumper; sub findLines { open(my $error_fh, '<', 'iset_error_log') or die($!); my @lines; while((my $line = <$error_fh>)) { next unless($line =~ /\[notice/); skipp all lines except notice # yada, do something to $line push @lines, $line; } close($error_fh); return @lines; } my @found = findLines(); print Dumper(\@found);