Возможный дубликат: Renaming and Moving Files in Bash or PerlКак проверить файл существует и переименовать в Perl
Я любопытный новичок в PERL и ищет скрипт, который будет обрабатывать файл перемещения.
#!/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);
}
Я могу переименовать его в 1, но я хочу быть переименованы пошагово, как если file.1 существует, переименуйте в .2, и 0,3, если 0,2 существует.
РЕДАКТИРОВАТЬ: и сохранить расширение одинаково; как file.exe становится file.exe.1, file.exe.2 и т.д.
Объединение строк в Perl достигается с помощью '' .' не + '. Вам лучше использовать «Path :: Class» или «File :: Spec» для формирования путей от отдельных компонентов. Наконец, логика вашего сценария не ясна. Кажется, вы переписываете '/ some/location/DUMBFILE.1' с'/tmp/DUMBFILE'. –
Это дубликат http://stackoverflow.com/questions/2548835/renaming-and-moving-files-in-bash-or-perl/2548919#2548919. (игнорируйте «bash» в теме - OP сказал, что perl был в порядке) - принятый ответ предоставляет сценарий для перемещения – DVK