my $sh = new Win32::OLE 'Shell.Application' or die; my $folder = $sh->NameSpace( $directory_path ) or die; my $item = $folder->ParseName( $unqualified_filename ) or die; $item->InvokeVerb('Edit');