In that case:
use strict; use warnings; use Test::More tests => 1; my @array1 = ('foo', 'bar'); my @array2 = (" foo\n", ',bar,'); my @clean = map { s/[\s,]//mg; $_ } @array2; is_deeply \@clean, \@array1;
Alter the map to your precise requirements. See also How to ask better questions using Test::More and sample data for future reference.
Addendum: if you don't want or need to keep your "dirty" array you could modify it in-place instead:
use strict; use warnings; use Test::More tests => 1; my @array1 = ('foo', 'bar'); my @array2 = (" foo\n", ',bar,'); s/[\s,]//mg for @array2; is_deeply \@array2, \@array1;
Addendum 2: Note the reply by AnomalousMonk (++) who correctly points out that the map already modifies @array2 and that using /r will prevent that.
🦛
In reply to Re^5: how to strip spaces, commas or new lines from an array
by hippo
in thread how to ignore spaces, commas or new line of an array when comparing
by noviceuser
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |