Hello all,
I have to remove elements from an array if they match a particualr
string and put it into another array
eg if element matches index or default I want it to be in a new array
I am trying this
my @arr = qw( 01.html index.html aa.html bb.html cc.html dd.html );
# the following does not compile
#map {s/^(index|default).*/{push @new,$_}/e && delete $_ } @arr;
#This works but it does not remove the array element
map {s/^(index|default).*/{push @new,$_}/e && undef $_ } @arr;
print Dumper([\@new,\@arr]);
I get
$VAR1 = [
[
'index.html'
],
[
'01.html',
undef,
'aa.html',
'bb.html',
'cc.html',
'dd.html'
]
];
the element $arr[1] is undefed but not removed from the array
Can I delete the element somehow
I am going to run this for about 60,000 arrays and I cant afford
needless if's and foreach's
Thanks
Ram
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]