in reply to Convert msg files to mime

Your problem is that the script is made to only accept literal file names instead of file globs?

If so, just add a filter to the @ARGV loop to translate any globs into a list of files like you already demonstrated in your second bit of code:

foreach my $file (map {/\*/ ? glob($_) : $_} @ARGV) {