in reply to variable value substitution

For substitution, you can use ~s///. This will just substitute the file date with your date. Also the result has a date 082411. I assume that $nDateStamp holds this value. And $tDateStamp holds 082511.

$nDateStamp = '082411'; $tDateStamp = '082511'; $filename = '17000_DM161_082511.dat'; if (index($filename,$tDateStamp) != -1) { $filename =~ s/$tDateStamp/$nDateStamp/; print "found\n$filename\n"; }

Or in a better way:

$nDateStamp = '082411'; $tDateStamp = '082511'; $filename = '17000_DM161_082511.dat'; if ( $filename =~ s/$tDateStamp/$nDateStamp/) { print "found\n$filename\n"; }