#!/usr/bin/perl use strict; use warnings; use Data::Dumper qw(Dumper); my @a = qw(1 2 3); print "Initially: " . Dumper(\@a); my @b = @a[0..5]; print "After assign from: " . Dumper(\@a); @b = grep { defined $_ } @a[0..5]; print "After grep over: " . Dumper(\@a); # Didn't expect the undef's