sub foo(\@) { my ($array) = @_; $_ = uc($_) for @$array; } my @array = qw( foo bar Foo Bar ); foo @{ sub { \@_ }->( grep /^[A-Z]/, @array ) }; print "$_\n" for @array;