open my $f, "<", "file" or die; while (<$f>) { chomp; my ($file_name, $type) = split /\|/; open my $inner, "<", $file_name or die; while (<$inner>) { if (/TABLE/) { print "$file_name:$type\n"; # last ? } } }