У меня есть несколько файлов с такими именами: file (2).jpg
.Я пишу небольшой Perl-скрипт для их переименования, но получаю ошибки из-за того, что скобки не заменяются. Так .Может кто-нибудь сказать мне, как экранировать все скобки (и пробелы, если они вызывают проблемы) в строке, чтобы я мог передать его команде.Сценарий ниже:
#Load all jpgs into an array.
@pix = `ls *.JPG`;
foreach $pix (@pix) {
#Let you know it's working
print "Processing photo ".$pix;
$pix2 = $pix;
$pix2 =~ \Q$pix\E; # Problem line
#Use the program exiv2 to rename the file with timestamp
system("exiv2 -r %Y_%m%d_%H%M%S $pix2");
}
Ошибка заключается в следующем:
Can't call method "Q" without a package or object reference at script.sh line [problem line].
Я впервые с регулярным выражением, поэтому я ищу ответы, которые объясняют, что делать, кака также дает ответ.Спасибо за любую помощь.