my @files = grep { open my $fh, '<', $_ or die "Failed to open $_: $!"; my $rc = 0; my $l; while (!$rc && defined($l = <$fh>)) { $rc++ if $l =~ /^source/; } $rc } @arr1;