使用Perl,我有一个IP地址数组,我将其存储在一个数组中。对阵列中的元素执行了许多操作,其中一个操作是删除IP地址。我知道我可以使用delete
函数,但这会在数组中留下空白点。是否有一种功能/方法可以从数组中删除一个项目并折叠/移动元素,这样就没有空白点。
例如,假设数组中有10个元素。我们删除了第3个元素。然后只有9个元素,第4个元素成为第3个元素,第5个元素成为第4个元素等等。
感谢您的帮助!
答案 0 :(得分:2)
假设我们有一个10元素阵列:
my @arr = (0..9);
然后我们要删除元素3,或者偏移2:
my $third_element = splice @arr, 2, 1;
@arr
现在为0,1,3,4,5,6,7,8,9。
答案 1 :(得分:0)
MAP!这是我最喜欢的perl功能之一..
my @out = map {
$_ #some logic ? $_ : (); #<-- this is your reference variable do stuff here
} @in;