Use a label
$Pattern = "perl"; $File = "myfile"; open (FILE,$File) || die "Can't open $File, $!\n"; FileLoop: while(<FILE>) { if (/$Pattern/o) { print "$File: $_"; last FileLoop; } } close(FILE);