sub BrowseForFolder { undef $Win32::FileOp::Error; my ($pidlRoot, $pszDisplayName, # removed first var $lpszTitle, $nFolder, $ulFlags, $lpfn, $lParam, $iImage, $pszPath, $hwndOwner) # and put it last = ("\0"x260, "\0"x260, shift() || "\0", shift() || 0, (shift() || 0) | 0x0000, 0, 0, 0, "\0"x260, shift()); $hwndOwner = GetWindowHandle() unless defined $hwndOwner; #added for if $hwndOwner is undef $nFolder = CSIDL_DRIVES() unless defined $nFolder;