Oliver Fuchs wrote:
> Hi,
> 
> I want to save names from <STDIN> to an array.
> Afterwards I want to delete a single name in the array received again
> from <STDIN>.
> 
> This is what I have:
> 
> #!/usr/bin/perl
> 
> use warnings;
> 
> print "Some names please: \n";
> @names = <STDIN>;
> print "Delete one name? \n";
> $deleted = <STDIN>;
> foreach $item (@names) {
>       unless ($item eq $deleted){
>       push (@aonly, $item);
>       }
> };
> print "Your names:\n", @aonly, "\n";
> 
> 
> My question is how can I delete an element of the array directly
> (something like
> pop (@names, $item);
> ).
> Is there a chance to delete it without using the index?
> 
> Oliver
> --
> ... don't touch the bang bang fruit

        You would use splice to remove an item. But if  I was going to do this, 
then I would use a hash and then delete the item and not do the searching 
through the array. If you only have 5 items, okay, but 10000 then you have to 
search at least 5000 entires ( on avg ) to get your item. But if name is the 
key into the hash, then one action to delete the name.

Wags ;)


*******************************************************
This message contains information that is confidential
and proprietary to FedEx Freight or its affiliates.
It is intended only for the recipient named and for
the express purpose(s) described therein.
Any other use is prohibited.
*******************************************************


--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to