#!/usr/bin/perl ################################ # cleanup_filenames.pl # author: Eleni Maria Stea ################################ use strict; use Encode; use File::Copy; my $dir; my @files; my $file; my $initfile; my $flag; $dir=$ARGV[0]; if ( -d $dir ) { opendir (DIR,$dir) or die $!; @files = (readdir DIR) or die $!; closedir (DIR) or die $!; foreach ( @files ) { next if ( $_ eq "." || $_ eq ".." ); $file = $_; $initfile = $_; $flag = decode ("utf8",$_,Encode::FB_QUIET); if ( $flag eq $initfile ) { $file = encode("iso-8859-7",$flag); } $file =~ s/\s/_/g; $file =~ s/è/th/g; $file =~ s/È/th/g; $file =~ s/ø/ps/g; $file =~ s/Ø/ps/g; $file =~ tr/ÁÂÃÄÅÆÇÉÊËÌÍÎÏÐÑÓÔÕÖ×Ù¶¸¹º¾¼¿ÚÛáâãäåæçéêëìíîïðñóôõö÷ùÜÝÞßýüþûúàÀò/abgdeziiklmnxoprstyfhoaeiiyooiyabgdeziiklmnxoprstyfhoaeiiyooyiyis/; $file =~s/_-_/-/g; $file = "\L$file"; move("$dir$initfile","$dir$file") || die $!; if ( $initfile eq $file ) { print "Filename $initfile has not been changed.\n"; } else { print "Filename $initfile has been changed to $file.\n"; } } } else { print "Sorry dude. There is no such directory.\n"; }