Запуск Perl из Perl обычно можно избежать.
for my $both (@mapping) {
my ($regex, $replace) = split / /, $both;
tr/ //ds for $regex, $replace; # // Fix SO highlighting bug.
open my $IN, '<', $testproc or die $!;
open my $OUT, '>', "$testproc.new" or die $!;
while (<$IN>) {
s/\Q$regex/$replace/;
print {$OUT} $_;
}
close $OUT or die $!;
rename $testproc, "$testproc.old" or die $!;
rename "$testproc.new", $testproc or die $!;
}
\ Q соответствует quotemeta , который предотвращает интерпретацию специальных символов в переменной $ regex.
fgallery
— приложение командной строки -. Таким образом, он предназначен для выполнения с терминала. У него есть средство просмотра , но на самом деле это приложение HTML/JavaScript, используемое для просмотра сайтов, сгенерированных инструментом строки команды -.
Короче говоря, нет смысла создавать файл .desktop
для добавления fgallery
в меню, потому что выполнение fgallery
таким образом ничего не даст.