It's incredibly easy using Win32::OLE. You can use the application object named WScript.Shell.
in reply to How to get location of Desktop folder on Win32
You can inquire about lots of other special folders using this interface:
my $wsh = new Win32::OLE 'WScript.Shell';
my $desktop_path = $wsh->SpecialFolders('Desktop');
I don't know what versions of Windows have the WScript.Shell interface. The only Perl dependency is the Win32::OLE module.
The 6th Rule of Perl Club is -- There is no Rule #6.