http://qs321.pair.com?node_id=911797

TheBigAmbulance has asked for the wisdom of the Perl Monks concerning the following question:

I have found the following perl script online to convert a msg file saved from Outlook into a mime file.

#!/usr/bin/perl -w use strict; use warnings; use Email::Outlook::Message; use Email::LocalDelivery; use Getopt::Long; use Pod::Usage; use File::Basename; use vars qw($VERSION); $VERSION = "0.903"; my $verbose = ''; my $mboxfile = ''; my $help = ''; GetOptions( 'mbox=s' => \$mboxfile, 'verbose' => \$verbose, 'help|?' => \$help) or pod2usage(2); pod2usage(1) if $help; defined $ARGV[0] or pod2usage(2); foreach my $file (@ARGV) { my $mail = new Email::Outlook::Message($file, $verbose)->to_email_mi +me->as_string; if ($mboxfile ne '') { Email::LocalDelivery->deliver($mail, $mboxfile); } else { my $basename = basename($file, qr/\.msg/i); my $outfile = "$basename.mime"; open OUT, ">:utf8", $outfile or die "Can't open $outfile for writing: $!"; print OUT $mail; close OUT; } }

It is working good, and a huge THANK YOU to the author. The reason I am posing here is that if I want to use this script, I need to initiate it by entering the following:

$ perl ./msg.pl *msg

What I am trying to accomplish is scan the entire directory for msg files, and parse them accordingly.

my @mimefiles = <*.mime>; foreach my $mimefile (@mimefiles) { foo.... }

As a novice perl programmer, could someone offer a suggestion at how I would go about accomplishing my goal of not having to enter the ' *msg'? Thank you for your time.