".. by calling the FastDelete member function: # # $prevSetting= $regKey->FastDelete(1); # # which will cause all subsequent delete operations via $regKey to simply return a true value if they succeed. #### use Win32::TieRegistry( Delimiter=>"/", ArrayValues=>1 ); $key = "LMachine/Software/Microsoft/Windows/CurrentVersion/SharedDlls/"; $value = "c:\\aaa.aaa"; # $Registry->{ $key } = { "/$value" => [ "0x0003", "REG_DWORD" ] }; $prevSetting = $Registry->FastDelete(1); $res = delete $Registry->{ $key . $value }; if( $res ) { print( "removed value $value and res is $res\n" ); } else { print( " delete failed and res is '$res'\n" ); }