#!/usr/bin/env perl use Modern::Perl; use Data::Dumper; my @cards = ([qw[0 1 2 3]], [qw[4 5 6 7]], [qw[8 9 A B]], [qw[C D E F]], ); say pop @cards; # pop the last array element [C D E F] say pop @cards[0,1]; # pop from a two-element slice, gets 7 from @$cards[1]; say pop @cards[0]; # pop from a one-element slice, gets 3 from @$cards[0], throws warning say pop $cards[0]; # pop from a scalar array reference, gets 2 from @$cards[0] say Dumper @cards; # see what's left in the array my @list = (0..15); say pop @list[3..5]; # error, not an ARRAY reference