$ perl -Mstrict -Mwarnings -E ' my @files = qw{abc1.html abc12.html abc123.html abc1234.html}; say for map { s/^(abc)(\d{1,3})(\.html)$/$1 . "0" x (4 - length $2) . $2 . $3/e; $_ } @files; ' abc0001.html abc0012.html abc0123.html abc1234.html