В Perl я зацикливаю файлы, используя общий шаблон:
$^I=".bak";
while(<>) {
s/pattern/replacement/g;
print;
}
где $ ^ Я буду создавать резервные копии. Однако я хочу проверить, существует ли файл резервной копии, и отменить сценарий, если он есть, поэтому резервная копия не перезаписывается. Он должен быть явно удален.
Проблема в том, что вне цикла while я не могу этого сделать
if (-e "$ARGV.bak") {
# print warning and exit
}
потому что $ ARGV не установлен до <>, а внутри цикла while $ ARGV уже заменен.
Так я что-то упустил или я должен сделать это по-другому?
Спасибо!