sub findString($) { my $line = shift; print "found\n" if $line =~ eval "qr/$regex/"; } #### my $s = 'Tue Feb 8 11:11:11 2005: blah blah blah'; my ($wday, $mon, $mday, $year); my $regex = qr/^(??{$wday}) (??{$mon})\s+(??{$mday}) \d{2}:\d{2}:\d{2} (??{$year}):/; $wday = 'Tue'; $mon = 'Feb'; $mday = '8'; $year = '2005'; sub findString; findString($s); sub findString($) { my $line = shift; print "found\n" if $line =~ /$regex/; }