Update: I tried printing out what $0 is after I'd defined the Schedule::Cron object and added an entry, but before I ran the cron. It must be somewhere in the run method in the module that it redefines what $0 is, or at least what the process name is, as when I print the value of $0, it still shows the name of the script. So, even if I reassigned the contents of $0, it wouldn't change what shows up in the process table.
Hm, I see what you're saying. But since $0 is by default the name of the script (which is what I want), and thus what a lot apps depend on, is it bad to change that? I guess maybe this is a question for the author of Schedule::Cron .... I mean, it is nice to see module name and the next time it will run, but for maintainability, I need the name of the script in there, too.