When you do know awk, and want to see/learn how the same thing is done in perl, you can use the awk-to-perl tool a2p that shipped with perl. The generated perl code is probably (very) inefficient, but at least shows you how the conversion could be done:
$ echo '/something/ { print $3 }' | a2p
#!/pro/bin/perl
eval 'exec /pro/bin/perl -S $0 ${1+"$@"}'
if $running_under_some_shell;
# this emulates #! processing on NIH machines.
# (remove #! line above if indigestible)
eval '$'.$1.'$2;' while $ARGV[0] =~ /^([A-Za-z_0-9]+=)(.*)/ && shift;
# process any FOO=bar switches
$, = ' '; # set output field separator
$\ = "\n"; # set output record separator
while (<>) {
($Fld1,$Fld2,$Fld3) = split(' ', $_, -1);
if (/something/) {
print $Fld3;
}
}
Enjoy, Have FUN! H.Merijn
|