in reply to Removing empty string elements from an Array
Since this tests for each element in a boolean context, it will ignore any element perl considers to be false, which includes empty strings (""). However this also has the pitfall of dropping stuff you might want to keep e.g qw(0 1 2) --> (1 2).my @arr1 = ("foo", "", "bar", "", "baz"); my @arr2 = grep $_, @arr1; { $" = ', '; print "@arr1\n@arr2\n"; }
my @arr1 = ("foo", "", "bar", "", "baz"); my @arr2; foreach (@arr1) { push @arr2, $_ if $_ ne ''; }
broquaint
|
|---|