IMO it's less a matter of understanding and more a matter of separation of concerns. The system Perl is administered, configured (and tested, hopefully) by the OS vendor while the "other" Perl is administered and configured by you. You will soon enough have requirements (like threads for example) that differ from the requirements that the OS vendor has (speed for short running scripts) and that the OS vendor does not test for. Trying to bridge that gap without close integration with the OS vendor is a big endeavor if you're not dedicated to administrating a system.