> echo '/user@example.com/ {print $2}' |a2p #!/usr/bin/perl eval 'exec /usr/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) = split(' ', $_, -1); if (/user@example.com/) { print $Fld2; } }
anyway you're not checking the first column but the whole line for an email address.
consider prepending an ^ in your regex.
Cheers Rolf
UPDATE: IMHO the @ in the regex should be escaped to avoid array interpolation, seems to be a bug in a2p.
In reply to Re: Perl equivlanet of simple awk (a2p)
by LanX
in thread Perl equivlanet of simple awk
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |