#!/usr/bin/perl -w
use strict;
my $aref = [5,6,7,8];
print @$aref,"\n"; #5678
print "@$aref","\n"; #5 6 7 8
print scalar @$aref,"\n"; #4
print ''.@$aref,"\n"; #4
# using string concatenation in the last example
# puts @$aref in a scalar context
my $ref = [ [qw(a b c)], [qw(x y zzy)] ];
print ''.map{@$_}@$ref; #6
# $ref is a ref to an array of references
# @$ref makes a list of those references
# the map expands out each array ref into all of its elements
# putting this into a scalar context reports the total number
print @{$ref->[1]},"\n"; #xyzzy
#basically, you need extra {} when a subscript is involved.
|