sub ctx {
my $w = wantarray;
print "$_[0]:";
print ( defined $w ? ($w?'array':'scalar') : 'void');
print "\n";
\&ctx;
}
sub ctxind {
my $w = wantarray;
print "$_[0]:";
print ( defined $w ? ($w?'array':'scalar') : 'void');
print "\n";
1;
}
my $a = [ ctx("buildA1"),ctx("buildA2"),ctx("buildA3"),ctx("buildA4") ];
ctx("by itself");
@{$a}[ctxind("slice ndx")];
$a -> [ctxind("plain ndx")] ->
("fn1",ctx("args1"),ctx("args2")) -> ("fn2",ctx("args3"));
####
buildA1:array
buildA2:array
buildA3:array
buildA4:array
by itself:void
slice ndx:array
args3:array
args1:array
args2:array
plain ndx:scalar
fn1:scalar
fn2:void
##
##
@/=map{[/./g]}qw/.h_nJ Xapou cets krht ele_ r_ra/;
map{y/X_/\n /;print}map{pop@$_}@/for@/