If you want to delete from the array you need to watch out for the trap that arrises when you delete an element and shift the remaining elements down one place. One way around it is to build a list of elements for deletion:

#!/usr/bin/perl -w use strict; use Data::Dumper; my @array = qw( 1 2 3 4 5 6 7 ); my @delList; foreach my $index (0 .. $#array) { # Delete element here if it matches. push @delList, $index if ($array[$index] & 1) == 0; # Add for deleti +on } splice @array, $_, 1 for reverse @delList; print Dumper \@array;

The down side is that you don't have an alias to the element, you have its index. Another way to do it is to push the elements you want to keep to another array:

... my @keep; foreach my $element (@array) { # Add element here if it doesn't match. push @keep, $element if ($element & 1) != 0; # Add for deletion } ...

DWIM is Perl's answer to Gödel

In reply to Re: Deleting specific element in array in FOREACH loop by GrandFather
in thread Deleting specific element in array in FOREACH loop by awohld

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.