In the PHP language, “everything but the kitchen sink” is built in to the PHP executable at compile-time ... so the executable is “big and phat, but self-contained.” Per contra, in the Perl environment, the executable is relatively small. (On my computer right now, for example, /usr/bin/php is 32.2 megabytes, whereas /usr/bin/perl weighs in a svelte 86K.)

So, where does the needed functionality come from? From external modules, such as this one: Net::Curl. Start by clicking on this examples-link ... Net::Curl::examples. Most of what you see here should seem very familiar.

As the case may be, you might find that this module is already installed, or you might have to install it. That’s fine: if you need it, you can install it ... not megabytes of kitchen-sink that you don’t.

If you do as suggested and search for Curl at http://search.cpan.org, you’ll find 181 modules that support Curl. But, can we do better than that? Yes, we can. Search for what you want to achieve...PayPal (130 hits), or PayFlowPro (7 hits).

This is the most-significant difference between the PHP approach and the Perl approach: the kernel of Perl is almost microscopic by comparison, but the scope of the CPAN library is vast: 90,429 Uploads; 27,446 Distributions; 120,905 Modules; 10,605 Uploaders as of today. And these are often very specific ... very close to where you actually want to be, such as (say...) Business:PayPal::API. Instead of trying to figure out, “how do I write this?” ... you instead start with, “I presume that I don’t have to write this at all, because somebody out there most likely already did.”

PHP. Perl. (And all the rest ...) Different tools, all good, and all very different. Nearly all of us, use all of them, all the time, but ... Come closer, and check out this world called Perl. Come see what all the fuss is about. See for yourself why so many of us return to this tool again and again.