package NewHash;
require Tie::Hash;

@ISA = (Tie::Hash);

sub DELETE { ... }          # Provides additional method
sub CLEAR { ... }           # Overrides inherited method

package NewStdHash;
require Tie::Hash;

@ISA = (Tie::StdHash);

sub DELETE { ... }

package main;

tie %new_hash, "NewHash";
tie %new_std_hash, "NewStdHash";
*****
tie %hash, classname, LIST
