perl outlook printf显示在脚本中创建的子文件夹

perl outlook printf显示在脚本中创建的子文件夹,perl,Perl,您好,我有一个每月创建outlook电子邮件子文件夹的脚本,如何通过printf显示刚刚创建的文件夹 #!/usr/bin/perl use strict; use warnings; use Win32::OLE; use Win32::OLE::Const 'Microsoft Outlook'; my $Outlook; eval { $Outlook = Win32::OLE->GetActiveObject('Outlook.Application') }; die "Out

您好,我有一个每月创建outlook电子邮件子文件夹的脚本,如何通过printf显示刚刚创建的文件夹

#!/usr/bin/perl
use strict;
use warnings;

use Win32::OLE;
use Win32::OLE::Const 'Microsoft Outlook';

my $Outlook;
eval { $Outlook = Win32::OLE->GetActiveObject('Outlook.Application') };
die "Outlook not installed" if $@;
unless ( defined $Outlook ) {
    $Outlook = Win32::OLE->new( 'Outlook.Application', sub { $_[0]->Quit; } )
        or die "Oops, cannot start Outlook";
}
my $namespace = $Outlook->GetNamespace("MAPI");

my $Folder = $namespace->Folders("admin")->Folders("Inbox")->Folders->Add("test");
my $folder = $namespace->Folders("admin")->Folders("Inbox")->Folders("test")->Folders->Add("12");
$folder = $namespace->Folders("admin")->Folders("Inbox")->Folders("test")->Folders->Add("123");
$folder = $namespace->Folders("admin")->Folders("Inbox")->Folders("test")->Folders->Add("1234");

#
foreach my $i ( 1 .. $namespace->Folders->Count ) {
    $folder = $namespace->Folders($i)->Name;
    print "Folder:  $folder\n";
}

可能有12个月,所以你可以这样做:

my @months = qw( JAN FEB MAR APR MAY JUN JUL AUG SEP OCT NOV DEC );
for my $months (@months) {
    print "...path/samplefolder/$month";
}
然后使用foreach循环,可能如下所示:

my @months = qw( JAN FEB MAR APR MAY JUN JUL AUG SEP OCT NOV DEC );
for my $months (@months) {
    print "...path/samplefolder/$month";
}

是的,我的错。。这篇帖子是之前有人编辑的,似乎他忘了“s”。我最初使用的是“foreach”而不是“for”。你确定它不会改变输出吗?