I tried the - and space on linux, and the - works, but not the name with spaces. You can easily adjust it to suit your system,
just change the line my @files = glob "$path/*"; to whatever command works well on win32.
Yeah I just looked at it, and File::Glob will do the trick on linux. Change
# my @files = glob "$path/*";
use File::Glob ':glob';
my @files = bsd_glob( "$path/*"); #includes spaces