my @retCodes_values; open my $read_log_file, '<', '/tmp/app.log' or die $!; while(<$read_log_file>){ next unless /retCode\=/; my ($string, $exit_code) = split /retCode\=/,$_,2; push @retCodes_values, [ $string, $exit_code ]; } foreach(@retCodes_values) { if ($_!=~3) { read 2nd log file; read 3rd log file; } }