Can someone suggest a good module in perl which can be used to store collection of objects?
Or is ARRAY a good enough substitute for most of the needs?
Update: I am looking for a collections class because I want to be able to do an operation like compute collection level property from each element.
Since I need to perform many such operations, I might as well write a class which can be extended by individual objects. This class will obviously work with arrays (or may be hashes).
There are collection modules for more complex structures, but it is common style in Perl to use Arrays for arrays, stacks and lists. Perl has built in functions for using the array as a stack or list : push/pop, shift/unshift, splice (inserting or removing in the middle) and the foreach form for iteration.
Perl also has a map, called a hashmap which is the equivalent to a Dictionary in Python – allowing you to have an association between a single key and a single value.
Perl developers often compose these two data-structures to build what they need – need multiple values? Store array-references in the value part of the hashtable (Map). Trees can be built in a similar manner – if you need unique keys, use multiple-levels of hashmaps, or if you don’t use nested array references.
These two primitive collection types in Perl don’t have an Object Oriented api, but they still are collections.
If you look on CPAN you’ll likely find modules that provide other Object Oriented data structures, it really depends on your need. Is there a particular data structure you need besides a List, Stack or Map? You might get a more precise answer (eg a specific module) if you’re asking about a particular data structure.
Forgot to mention, if you’re looking for small code examples across a variety of languages, PLEAC (Programming Language Examples Alike Cookbook) is a decent resource.