in reply to Re: Is it worth the reference?
in thread Is it worth the reference?
In general, unless you need to use [array references[]], don't.I wouldn't necessarily go that far.
In this instance, no, the array ref is not worth it, I'll admit, but notice nobody criticised his use of hash references.
The key guide meonkeys should use to decide between arrays and array refs is: Does the use of one over the other make the program easier to read, write, and understand?
If using array refs make the program easier to read, write, and understand, the savings from that will (usually) dwarf the extra time spent in the deref.
(This is not a license to use them gratuitously, but rather to use them sensibly. I think the use in this snippit is obviously gratuitous (even to meonkeys).
To answer meonkeys' final question (what are array refs good for?): Array refs are useful when it is necessary or convenient to treat an entire array as a single scalar:
- storing an array into another array or hash
- passing multiple arrays into subroutines while maintaining their distinct identity
- when the array represents a single "unit" of data (such as a complex number stored as a 2-element array)
- etc
When you just want an ordered collection of values, an array will probably be easier to understand and faster than the array ref. When you need to think of the contents of the array as "one thing", an array ref will probably be easier to understand.
Just my 2 cents...