use strict; my $source = 'VM'; my $COB = '20080605'; while () { if (/^$source.*$COB/) { print "Matched $_"; } ## end if (/^$source.*$COB/) } ## end while () __DATA__ VMTKSWPDCN0120080717.TXT VMTKSWPSLN0120080717.TXT VMTKSWPDLA0120080717.TXT CMVMCSHFEN0120080605.TXT VMTKSWPDLN0120080605.TXT VMTKSWPTVN0120080605.TXT VMTKSWPSLN0120080605.TXT VMTKSWPDLA0120080605.TXT VMTKSWPTVA0120080605.TXT VMTKSWPDCN0120080605.TXT VMTKSWPSLA0120080605.TXT #### Matched VMTKSWPDLN0120080605.TXT Matched VMTKSWPTVN0120080605.TXT Matched VMTKSWPSLN0120080605.TXT Matched VMTKSWPDLA0120080605.TXT Matched VMTKSWPTVA0120080605.TXT Matched VMTKSWPDCN0120080605.TXT Matched VMTKSWPSLA0120080605.TXT #### my $source = 'VM'; my $COB = '20080605'; my $regex = qr /^$source.*$COB/; while () { if (/$regex/) { print "Matched $_"; } }