#Change your Win32::OLE invocation to this: use Win32::OLE qw(in valof with OVERLOAD); .... foreach my $item(in $infolder->Items) { #..Do something with $item }