##
my $pat = shift;
while (<>) {
print if /$pat/o;
}
####
my @pats = ('fo*', 'ba.', 'w+3');
while (<>) {
foreach $pat (@pats) {
print if /$pat/;
}
}
####
my @pats = ('fo*', 'ba.', 'w+3');
my $pat = join('|', @pats);
while (<>) {
print if /$pat/o;
}
####
for my $line (@lines) {
for my $pattern (keys(%patterns)) {
if (my @params = ($line =~ $pattern)) {
my $func = $patterns{$pattern};
if (defined($func)) {
$func->(@params);
}
}
}
}