Gau*_*rav 1 perl multidimensional-array
我有一个看起来像这样的数组 -
$VAR1 = [
'sid_R.ba',
'PS20TGB2YM13',
'SID_r.BA',
'ARS',
'XBUE'
]; $VAR2 = [
'sddff.pk',
'PQ10XD06K800',
'SDDFF.PK',
'USD',
'PINX'
]; $VAR3 = [
'NULL',
'NULL',
'NULL',
'.',
'XNAS'
]; $VAR4 = [
'NULL',
'NULL',
'NULL',
'.',
'XNAS'
]; $VAR5 = [
'NULL',
'NULL',
'NULL',
'EUR',
'OTCX'
]; $VAR6 = [
'sid.ba',
'PS20TGB1TN17',
'SID.BA',
'ARS',
'XBUE'
];
Run Code Online (Sandbox Code Playgroud)
我想删除完整的块(数组引用),如果它的任何元素是NULL
我有一个代码,其中生成数组,所以我尝试了一个for循环删除,但然后在for循环内部减少了数组的索引.
所以我不知道数组的顺序或数组的长度.我需要一个通用的解决方案.
请帮忙.
谢谢
你似乎有一个类似的数组
my @AoA = (
[1, 2, 3],
[4, 5, 6],
[7, 8, "NULL"],
[9, 10],
);
Run Code Online (Sandbox Code Playgroud)
您想要选择所有不包含的子数组"NULL".简单:只需使用嵌套grep:
my @AoA_sans_NULL = grep {
not grep { $_ eq "NULL" } @$_
} @AoA;
Run Code Online (Sandbox Code Playgroud)
该grep { CONDITION } @array选择从所有元素@array,其中CONDITION评估为True.
的grep { $_ eq "NULL" } @$_计数的数目"NULL"S上的内阵列英寸 如果这是零,我们的条件为真,否则,我们不想保留该子数组.
use List::MoreUtils qw(none);
my @filtered = grep {
none { $_ eq "NULL" } @$_;
} @array;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
107 次 |
| 最近记录: |