There are many issues with the code you posted, there are methods which are missing, these methods are peculiar to tying hashes, in addition you have added a method "
new" instead of "
TIEHASH" as your class constructor...TIEHAHS would let you return a blessed reference through which the new object would be accessed but in a capacity related to hashes.
Tying hashes is different from tying scalars or arrays since each have their own particular methods, and these are the methods that you need to define when it comes to tying a hash:
- "TIEHASH" as a class constructor.
- "FETCH" and "STORE" access the key/value pairs and this is where you can process or modify the values passed/tied.
- "EXISTS" to check a key presence in a hash.
- "DELETE" deletes a key-value pair.
- "CLEAR" to purge the hash.
- "FIRSTKEY" and "NEXTKEY" iterate over the key/value pairs when you call keys, values, or each. And as usual.
- "Destroy" which maybe defined in special circumstances like when you want to deallocate resources.
The
documentation provides a straightforward approach, this topic is addressed in
Programming Perl as well...
Excellence is an Endeavor of Persistence.
Chance Favors a Prepared Mind.