#!/usr/bin/perl -w ($#ARGV == -1) && die("Use: $0 file ...\n". " renumber olympus-digicam (pnnnmmmm.jpg/mov) files.\n"); $n = 1; foreach $fn (@ARGV) { if ($fn !~ /[0-9]{3}\....$/) { print(STDERR "$fn: not number pattern, skipped\n"); next; } do { $nfn = $fn; if ($nfn !~ s![0-9]{4}(\....)$!sprintf("%04d%s", $n, $1)!e) { $nfn =~ s![0-9]{3}(\....)$!sprintf("%03d%s", $n, $1)!e; } ++$n; } while (-f $nfn); print("$fn -> $nfn\n"); rename($fn, $nfn) || die("$!\n"); }