I've set up a Perl script to process incoming emails through qmail. However, I find that email messages are hitting the script over and over again, every few minutes for several hours.
Am I supposed to set a return value in the script or do something else to indicate to the sender that the email has been received successfully?
Depends on the MTA but yes, generally any nonzero exit code signals an error. Qmail uses different codes than Sendmail and compatibles, in the 100-something range.