Order of evaluation
Something you can modify by sleath
- The return value of shift is really an lvalue
- It is the actual first element of the array not a copy
my @a=(666);
my $r = \$a[0];
shift(@a)=42;
print $$r;
${\shift(@a)}=42;
print $$r;
$_=42 for shift(@a);
print $$r;
Next