in reply to Perl and or Grep Help!

For one, you need to quote the *.pl, so the shell doesn't expand it.  I.e., either

$ find /start_dir -name "*.pl" -exec grep -i -H -n 'email' {} \; > res +/results.txt

or

$ find /start_dir -name "*.pl" -print0 | xargs -0 grep -i -H -n 'email +' > res/results.txt

(the -print0 / -0 combination is for when the filenames contain spaces — good habit to get into, even if they don't, for now)