double possible: Renaming and Moving Files in Bash or PerlComment vérifier le fichier existe et renomme en Perl
Je suis un peu novice à Perl et la recherche d'un script qui va gérer le fichier en mouvement.
#!/usr/bin/perl -w
$filename = 'DUMBFILE';
$destination = '/some/location/';
if (-e $destination + $filename) {
print "File Exists ! Renaming ..";
move ('/tmp/' + $filename, $destination + $filename + '.1');
} else {
move ('/tmp/' + $filename, $destination + $filename);
}
Je suis en mesure de le renommer en 1, mais je veux renommer progressivement, comme si existe fichier.1, renommer 0,2 et 0,3 si 0,2 existe. EDIT: et conserver l'extension identique; comme file.exe devient file.exe.1, file.exe.2 etc.
concaténation de chaîne en Perl est réalisée à l'aide '' .' pas + '. Il vaut mieux utiliser 'Path :: Class' ou' File :: Spec' pour former des chemins à partir de composants individuels. Enfin, la logique de votre script n'est pas claire. Vous semblez écraser '/ some/location/DUMBFILE.1' avec'/tmp/DUMBFILE'. –
Il s'agit d'un doublon de http://stackoverflow.com/questions/2548835/renaming-and-moving-files-in-bash-or-perl/2548919#2548919. (ignorer "bash" dans le sujet - l'OP dit que perl était bien) - la réponse acceptée fournit le script pour le déplacement – DVK