in reply to $var$cnt problems

Why not use CGI and pull the names using param?

In the abscence of that:
for my $cnt (1 .. 5) { if ( eval "\$fmail$cnt" ne "") { open(MAIL,"| $sendmail") or die "Can't open sendmail $!"; print MAIL "To: ", eval "\$fmail$cnt", "\n"; print MAIL "From: $email\n"; print MAIL "Subject: Refer A Friend\n"; print MAIL "Dear ", eval "\$fname$cnt", ",\n\n"; print MAIL "Your friend, $name at $email, visited out site re +cently and thought you would b +e interested..\n\n"; print MAIL "This is NOT spam. This email was sent by someone +who said they knew you. Your +email address is not stored in any databases and will not be sold or given to anyone at any time. This is the only time you wil +l receive an email from us."; close(MAIL); } }
(untested)
and (hopefully) before Corion can get to it: this is open to spam attack. Make sure to strip out newlines from your params.

Updated it to work - but this is evil and dangerous and I don't recommend it and I'm not offering you yak urine I swear. Use CGI