--- pp_sys.c~ 2003-10-21 09:01:45.000000000 +0200 +++ pp_sys.c 2003-12-13 09:09:26.000000000 +0100 @@ -787,6 +787,8 @@ PP(pp_tie) varsv = *++MARK; switch(SvTYPE(varsv)) { case SVt_PVHV: + if (HvNAME((HV*)varsv)) + Perl_croak(aTHX_ "Can't tie symbol table of package '%s'", HvNAME((HV*)varsv)); methname = "TIEHASH"; HvEITER((HV *)varsv) = Null(HE *); break; --- pod/perldiag.pod~ 2003-12-12 01:02:52.000000000 +0100 +++ pod/perldiag.pod 2003-12-13 09:09:36.000000000 +0100 @@ -1004,6 +1004,12 @@ negative numbers. negative number. There's a Math::Complex package that comes standard with Perl, though, if you really want to do that. +=item Can't tie symbol table of package '%s' + +(F) You tried to tie the symbol table of the mentioned package. +Your script would stop working very soon if perl allowed such an +operation. + =item Can't undef active subroutine (F) You can't undefine a routine that's currently running. You can,