From perldoc perlvar:
On some (but not all) operating systems assigning to
$0
modifies the argument area that theps
program sees. On some platforms you may have to use specialps
options or a differentps
to see the changes. Modifying the$0
is more useful as a way of indicating the current program state than it is for hiding the program you're running.
So yes, your assertion is correct. It's looking to mask how it shows up in ps
.