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.
|