Perl объединяет Perl One Liners и скрипты в одном скрипте Bash - PullRequest
0 голосов
/ 24 апреля 2018
marcmoose-lint unimarc.rules marc.iso
perl -ne 'if (/^([0-9]{3})[()0-9]*: *(.*)$/) { print "$1: $2\n";}' marc.iso.log | sort | uniq -c
perl script1.pl
perl script2.pl filename.txt
perl script3.pl

Я попробовал следующее, не повезло: сценарий wrapper.pl:

my $command = "perl s1.pl in.fa > out1.txt";
system($command);

$command = "perl s2.pl out1.txt > out2.txt";
system($command);

$command = "perl s3.pl out2.txt > out3.txt";
system($command);

Как сделать так, чтобы все вышеперечисленные сценарии

marcmoose-lint unimarc.rules marc.iso
    perl -ne 'if (/^([0-9]{3})[()0-9]*: *(.*)$/) { print "$1: $2\n";}' marc.iso.log | sort | uniq -c
    perl script1.pl
    perl script2.pl filename.txt
    perl script3.pl

были вставлены водин исполняемый скрипт, т.е. run.sh?

1 Ответ

0 голосов
/ 24 апреля 2018
use autodie qw( system );

system(q{marcmoose-lint unimarc.rules marc.iso});
system(q{perl -ne 'if (/^([0-9]{3})[()0-9]*: *(.*)$/) { print "$1: $2\n";}' marc.iso.log | sort | uniq -c});
system(q{perl script1.pl});
system(q{perl script2.pl filename.txt});
system(q{perl script3.pl});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...