in reply to Re: In what OS and Perl version set $0 works?
in thread In what OS and Perl version set $0 works?

On Linux top is probably doing something akin to readlink( "/proc/##/exe" ) to get the process name, which wouldn't be changed by mucking with $0 (or by diddling argv[0] from C) since /proc is comming from the kernel's process table directly.

( Not that that makes it work, but it at least might explain the behavior. )