sub x (\@\@) { print "@_" } @_ = qw[ some random junk retained from the current level of call ]; @a = 1..10; @b='a'..'g'; x @a, @b; ARRAY(0x1961458) ARRAY(0x196156c) &x( @a, @b ); 1 2 3 4 5 6 7 8 9 10 a b c d e f g &x, @a, @b; some random junk retained from the current level of call