#!/usr/bin/perl -w use strict; my @res = map { qr/$_/m } @ARGV[1..$#ARGV]; open F, $ARGV[0] or die "$ARGV[0]: $!"; my $s = do { local $/; }; foreach (@res) { print $&, "\n" while $s =~ /$_/g; }