> Because you're shifting from @ARGV, not @arr. And even if you were shifting from @arr, you'd just trash the first element and end up with @arr == qw(b c d); You would've needed do iterate over indexes and splice out that particular index. grep's the way to go. -Jim....