Hi, I'm not sure if "row" is the right word, but I'm trying to work out how to remove a row from a 2Darray based on a match. I've attempted with the following code, although it doesn't work, as the array "shifts" as I remove "rows". I assume I am going about this the wrong way, so any help would be appreciated. I dont want to just blank the row, I want to remove it completely from the array. The array in real life is about 10k rows, and the match criteria would be a variable.
The desired outcome of the above would be: @arr=('a','b','c','d','h','i','j','h','i','j','h','i','j','a','b','c','d','a','b','c','d')@arr=(['a','b','c','d'],['e','f','g'],['h','i','j'],['e','f','g'],['h' +,'i','j'],['e','f','g'],['h','i','j'],['a','b','c','d'],['a','b','c', +'d']); @arr1 = @arr; for(@arr){print @$_, ":";} print "\n"; $i=-1; for(@arr){ $i++; print "i = $i\n"; if(@$_[0] =~ /e/){ splice(@arr1,$i,1); } } for(@arr1){print @$_, ":";} print "\n";
In reply to Remove "Row" from multidimensional array by relientmark
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |