in reply to is there are global perl variable with

No such thing. You produced it yourself, just now.
# create such a thing BEGIN { ${^CMDLINE} = "$0 @ARGV" }
But that's not entirely accurate. You should add quotes around each element in @ARGV, and quotemeta() them.
BEGIN { ${^CMDLINE} = join ' ', $0, map "'\Q$_\E'", @ARGV }
This variable will then be as global as @ARGV and $0.

_____________________________________________________
Jeff[japhy]Pinyan: Perl, regex, and perl hacker.
s++=END;++y(;-P)}y js++=;shajsj<++y(p-q)}?print:??;