#!/usr/bin/perluse strict;
# uebernehme Pfad, wenn keiner uebergeben wird
# nehme ich das aktuelle Verzeichnis
my $path = $ARGV[0];
$path = "." if( not defined $path );
opendir( DIR , $path );
# einlesen aller Datei- und Verzeichnisnamen
while( my $file = readdir( DIR ) ){
# was nicht mit '.pdf' endet wird ignoriert
next if( $file !~ /.+\.pdf$/ );
# Verzeichnisse sollen nicht umbenannt werden
next if( -d "$path/$file" );
# erstelle den neuen Dateinamen
my $new_name = $file;
$new_name =~ s/\.|\-/_/g;
# auf die schnelle fiel mir nichts besseres ein, um am
# Ende wieder '.pdf' stehen zu haben...
$new_name =~ s/_pdf$/\.pdf/;
# benenne die Datei um, wenn noch keine mit dem neuen Namen existiert
# ansonsten wird eine Warnung ausgegeben
if( -e "$path/$new_name" ){
print "Datei oder Verzeichnis $new_name existiert bereits!\n";
} else {
print "move: $path/$file -> $path/$new_name\n";
# umbennen der Datei
rename( "$path/$file" , "$path/$new_name" );
}
}
closedir( DIR );