in reply to PayPal IPN and Perl

Try out the Business::PayPal::IPN module. Make sure you read my annotations in AnnoCPAN. To save you the trouble, after retrieving all of the IPN information from the Paypal servers, you are going to need to send them a response to let them know that all is well:
print $ipn->cgi->header('text/plain');
Business::PayPal::IPN doesn't make that entirely clear.