Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

Re: Deleteing array elements

by si_lence (Deacon)
on Jul 23, 2009 at 07:19 UTC ( #782586=note: print w/ replies, xml ) Need Help??


in reply to Deleteing array elements

If you know the index of the element you want to delete you can use a slice

@arr = @arr[0,1,3];
otherwise I'm not sure if you can avoid an (implicit) loop.
One possibility would be a grep
@arr = grep { $_ !~ /c/ } @arr;
Why do you want to avoid a loop? Are there so many elements in the array? Maybe you could avoid putting the unwanted elements in the array in the first place.

cheers, si_lence


Comment on Re: Deleteing array elements
Select or Download Code
Re^2: Deleting array elements
by davorg (Chancellor) on Jul 23, 2009 at 08:26 UTC
    @arr = grep { $_ !~ /c/ } @arr;

    That works, of course, with the sample data that we've been given, but in the general case it will remove any element that contains the letter 'c'.

    Regular expressions aren't always the answer. Sometimes a simpler approach is right.

    @arr = grep { $_ ne 'c' } @arr;
    --

    See the Copyright notice on my home node.

    Perl training courses

      Hi davorg, you are - of course - right with your remark that regular expressions aren't always the answer.
      It really depends on the problem. If a special named file should be removed from the array then ne is probably the better solution.
      If all files ending in .log should be removed, then a regex might be the way to go.
      Since there is no information about the general problem in the OP we are left guessing.

      cheers, si_lence

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://782586]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (5)
As of 2014-09-21 19:08 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (175 votes), past polls