#!/usr/bin/perl use strict; use warnings; use Data::Dump::Streamer; sub x { print "\@_ number of elements: ", scalar(@_),"\n"; ($_[0],$_[2]) = qw(foo bar); @_[3,4,5,6,8] = (3,4,5,6,939); bar(@_); } sub bar { print 'bar @_=(',join(',',map{"'$_'"} @_),")\n"; $_[3] = 'quux'; } my @y; $y[3] = undef; x(@y); Dump(\@y); __END__ @_ number of elements: 4 bar @_=('foo','','bar','3','4','5','6','','939') $ARRAY1 = [ ( undef ) x 3, 'quux' ];