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;
We always recommend:
use strict;
print "Some names please: \n";
@names = <STDIN>;
print "Delete one name? \n";
$deleted = <STDIN>;
foreach $item (@names) {
unless ($item eq $deleted){
push (@aonly, $item);
}
};
This can be written as:
@aonly = grep $_ ne $item, @names;
or, if you just want one array:
@names = grep $_ ne $item, @names;
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?
No; you have to know the index, or use a hash instead of an array.
Oliver
--
... don't touch the bang bang fruit
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>