If you're worried about what ends up in swap, you may want to check whether your OS offers functionality like the following:
In OpenBSD, the sysctl(8) command allows you to instruct the OS to encrypt the pages to go to swap. See
the man pages for more information on that feature.
Resulting in the (shell) command of:
$ sudo sysctl -w vm.swapencrypt.enable=1
vm.swapencrypt.enable: 0 -> 1
Granted, it relies on your OS' feature set and it's not done in Perl. Still, it may alleviate your concerns.
Cheers,
Rogier
--
If you don't know where you're going, any road will get you there.