sub trigger{print "Triggered: ",map {defined $_ ? " $_" : 'UNDEF'}@_,"\n"}
####
# rest of the code as before..
print "\tclearing with undef \@arr:\n" and undef @arr;
print "\tSetting list:\n" and @arr = qw(a);
print "\tclearing with \@arr=undef:\n" and @arr=undef;
print "\tSetting list:\n" and @arr = qw(a);
print "\tclearing with \@arr=():\n" and @arr=();
__OUT__
clearing with undef @arr:
Triggered: Arraytrigger=ARRAY(0x6ab224)
Setting list:
Triggered: Arraytrigger=ARRAY(0x6ab224)
Triggered: Arraytrigger=ARRAY(0x6ab224) 0 a
clearing with @arr=undef:
Triggered: Arraytrigger=ARRAY(0x6ab224)
Triggered: Arraytrigger=ARRAY(0x6ab224) 0UNDEF
Setting list:
Triggered: Arraytrigger=ARRAY(0x6ab224)
Triggered: Arraytrigger=ARRAY(0x6ab224) 0 a
clearing with @arr=():
Triggered: Arraytrigger=ARRAY(0x6ab224)
####
my $ref = \$arr[0];
print "\tsetting by reference:\n" and $ref=11;
__OUT__
setting by reference:
####
print "\@arr [@arr]\n";