Dealing with a command line argument (path) with spaces
I think it's fine, although my preference would be readdir over glob. (I know someone made the exact opposite suggestion on your original post, and that's alright.) I can't really articulate why, but I've never liked glob very much---I guess it just seems too magical to me. Some people would argue "why write three lines of code when you can write one?" or "readdir isn't good because you have to filter out dots" or "readdir isn't good because you have to remember to prepend the directory". OK, so put a tiny wrapper around it in your standard library or use read_dir from File::Slurp. Anyway, moving on...

I did want to comment on your comment:


  Dealing with paths with spaces is done by:

my $folder = $ARGV[0];
$folder =~ s|\\|/|g;
$folder =~ s|/$||;



That code doesn't actually do anything related to handling paths with spaces. All it does is take the first command line argument to your script, replacing backslashes with forward slashes and stripping off the trailing slash. It's also unnecessary, since Perl on Windows can deal with either forward or backward slashes in paths. I would also assume that Windows is not giving you a directory path with a trailing slash on it, but I don't have access to a Windows box to confirm that.

Since you are on Windows, the shebang/hashbang line is redundant and can be removed:

#!/usr/bin/perl


Other than that, I think the rest of the code looks pretty good, but I guess it would be strange if I didn't think so, considering that I wrote some of it. When it comes to glob vs. readdir, it's mostly a matter of personal preference, although there's a good thread on Stack Overflow that examines the differences. Read it for yourself and see what you think.