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