Great stuff, myarmor!
I see now that I was making the Perl example far more complicated than it had to be. I could've sworn I had tried a simple sub called Rename_GetNewName2 before embarking on the Win32::OLE events crash-fest dead-end, but obviously I messed something up in all my faffing around. Great to see it is worked out now, and so simple to boot.
I've summarised the different script syntaxes into a post over in the Rename forums: