The Win32 module comes with an interface to the GetShortPathName function.
GetShortPathName makes a DOS (8.3) path of any valid Win32 path and will remove all spaces.
The following code will start notepad (or whatever you have associated with .ini) and load c:\Program Files\desktop.ini
#!/usr/bin/perl -w
use strict;
use Win32;
system(Win32::GetShortPathName('c:\Program Files\desktop.ini'));
OK, silly example, but...
/brother t0mas