8.6.20 Brevi follie in Perl script
Sebbene tutti gli script Awk possano essere riscritti con Perl usando
a2p(1)
, gli ad una riga di Awk sono convertiti meglio a script in
perl ad una riga manualmente. Per esempio
awk '($2=="1957") { print $3 }' |
pu� essere scritto in uno dei seguenti modi:
perl -ne '@f=split; if ($f[1] eq "1957") { print "$f[2]\n"}' |
perl -ne 'if ((@f=split)[1] eq "1957") { print "$f[2]\n"}' |
perl -ne '@f=split; print $f[2] if ( $f[1]==1957 )' |
perl -lane 'print $F[2] if $F[1] eq "1957"' |
Siccome tutti gli spazi tra gli argomenti di perl
nelle righe
sopra possono essere rimossi traendo vantaggio dalla conversione automatica tra
numeri e stringhe in Perl:
perl -lane 'print$F[2]if$F[1]eq+1957' |
Vedere perlrun(1)
per le opzioni da riga di comando. Per altri
pazzi script in Perl, https://perlgolf.sourceforge.net
pu� essere interessante.