流れを無視してマジレス。

#!/usr/bin/env perl
$regex = shift(@ARGV);
foreach $f (@ARGV) {
$g = $f;
eval "\$g =~ $regex;";
print STDERR "$regex: $f -> $g\n";
if(!rename($f, $g)) {
print STDERR "rename failed: $regex: $f -> $g\n";
}
}

こいつをrenameとして保存しておくとすると、
rename 's/^/mona-/' *.txt
でおk。