#!/usr/bin/env perl use 5.010; use strict; use warnings; sub foo(&@) { my $coderef = shift; my @ret; push @ret, $coderef->() for @_; return @ret; } my @a = ( "1", "2", "3", "4", ); my @b = foo( sub { $_ ** 2 }, @a);