Here is a hint: file bashhist.c in the bash source code (v5), modify function pre_process_line() to dump line to your own file so that you do not rely on users' history settings (which can be disabled, purged or modified by other shells running at the same time). That's based on my diagonal look at the source code.
If what you are doing is worth the investment, find out exactly where bash executes commands and intervene before expanding and interpolating the command line (that may be in readline). In this way you may even be able to pass an extra argument to Perl with the original commandline! far-fetched I know.
bw, bliako