my @x = qw(anton berta cäsar); my @y = keys %ENV; foo(scalar @x, @x, @y); sub foo{ my $x = shift; my @x = map { shift @_ } 0 .. $x - 1; local $, = "\n"; print @x; }