sub Save { my $DirName = 'WinLog'; DirCreator($DirName); foreach (@arr) { my $Log_obj = Win32::EventLog->new($_, ""); my $FileName = "$_.evtx"; $Log_obj->Backup(".\\$DirName.\\$FileName"); given ($^E) { when ('') { print "Log Successfully saved.\n"; } when (/already exists/) { # ... } default { print "Error: $^E\n"; } } $Log_obj->Close; # see Win32::EventLog's docs } }