Озадачился следующим: у меня есть строка, содержащая имя файла. Надо в указанном файле:строчке выкинуть " [это имя файла]", если оно там есть. Для sed:
s/'/'\\''/ for ($filename, $infofile);
qx|sed -E -i.bak -e '${lineno}s/ \[$filename\]//' '$infofile'|;
s/'/'\\''/ for ($filename, $infofile);
qx|perl -p -i'*.bak' -e 's/\Q [$filename]\E// if \$.==$lineno;' '$infofile'|;
Щас вот только подумал про это, но как-то криво выглядит:
qx|perl -pe 'index(\$_,'\''$filename'\'') < 0 or ...'|;
Всем заранее благодарен.