use Data::Dumper; $Data::Dumper::Sortkeys = 1; use strict; use warnings; use Tie::Array; use base qw(Tie::StdArray); tie my @arr, 'main'; @arr = qw(foo bar baz); delete $arr[0]; print Dumper \@arr; sub DELETE{ my $self = shift; my $idx = shift; splice @$self, $idx, 1; }