in reply to Perl as grep
The -p argument doesn't take an argument and prints any line read. What you want is:
perl -n -e "print if /regex/" *.* [download]
Hope this helps, -gjb-