http://www.perlmonks.org?node_id=11133916


in reply to Re^4: how to ignore spaces, commad or new line of an array when comparing
in thread how to ignore spaces, commas or new line of an array when comparing

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.


🦛