#!/usr/bin/perl -w # revdate.pl - by dual # # Usage: perl revdate.pl # # Reverses MMDDYY dates in file # names to ISO 8601 YYYYMMDD use strict; use File::Find; # Get directory or provide assistance print "Usage: perl revdate.pl \n" and exit unless defined(my $dir = shift); # Call reverse for each file find(\&reverse, $dir); # Reverse date here sub reverse { # Skip directories if ( !(-d) ) { if ( $_ =~ /(.*)(\d{6})(.*)/ ) { # od = old_date my @od = split(//, $2); my $new_date = "20$od[4]$od[5]$od[0]$od[1]$od[2]$od[3]"; rename $_, "$1$new_date$3"; } } }