in reply to AoA Selective Element Substitution

Albeit I concur mostly with FunkyMonk, just for the sake of completeness and something to play with (not everything here presented is a solution, and not even suitable sometimes (some of it is intentionally flawed - one should examine the output before using it); it tries to illustrate to a certain extent what is possible by using map):

#!/usr/bin/perl use strict; use warnings; use Data::Dumper qw(Dumper); { list_dump(sub { map { $_->[0] < 5 } @{set()} } ); list_dump(sub { map { $_->[2] < 5 ? $_ : () } @{set()} } ); list_dump(sub { map { [ map { $_ + 1 } @$_ ] } @{set()} } ); list_dump(sub { map { local $_ = $_; $_->[0] = 7; $_ } @{set()} } ); list_dump(sub { map { my @copy = @$_; [ map { $_ *= 2 } @copy ] +} @{set()} } ); sub list_dump (&) { my @list = $_[0]->(); print Dumper \@list; } sub set { return [ [1,2,3],[4,5,6] ]; } }