如何从一个@array数组中删除一个元素?



QUOTE:
原帖由 youyuanyin 于 2008-8-7 10:46 发表

你确信吗,它应该只用于关联数组吧?

请翻到大骆驼书第760页 上面写着detele 本函数从指定散列或者数组删除一个元素(或者一段元素)。
和splice的区别是delete的删除不弥合所造成的裂缝,不导致所有随后记录的位置发生变化。


QUOTE:
原帖由 churchmice 于 2008-8-7 12:07 发表
这样你可以通过grep搞定
实在不行自己写个for循环也是可以的
方法有很多

my @filtered = grep {! /$not_wanted/ } @raw_data;

当然如果有重复元素的话也会一并删除

这个行得通,不过最好应该改成这样吧:
my @filtered = grep {! /^$not_wanted$/ } @raw_data;

我想的太简单了

我以为他是想问shift或者pop呢


QUOTE:
原帖由 hfahe 于 2008-8-7 13:54 发表

请翻到大骆驼书第760页 上面写着detele 本函数从指定散列或者数组删除一个元素(或者一段元素)。
和splice的区别是delete的删除不弥合所造成的裂缝,不导致所有随后记录的位置发生变化。

晓得了,原因在这:
“在过去的版本里,你只能从散列里删除记录,但是到了 Perl 5.6,你也可以从一个数组里删除东西。”


QUOTE:
原帖由 churchmice 于 2008-8-7 14:25 发表

?????