$doc->{links} is assumed to be either an array reference or undefined. If it is undefined, the // defined-or operator (new with Perl version 5.10, see Logical Defined-Or in perlop) will evaluate the [] anonymous array constructor to create a reference to an empty array. The @{ } expression will de-reference to a (possibly empty) list either the valid $doc->{links} reference or the empty reference. (Any expression may be evaluated within a @{ } dereference.) If the // operator had not been available, the || operator would probably have served as well since all genuine references are true and the undefined value is false.
In reply to Re: operation inside reference
by AnomalousMonk
in thread operation inside reference
by hegotf
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |