# Replace with space
$myline =~ s/[^\x00-\x7F]/ /g;
# Delete character
$myline =~ tr/\x00-\x7F//cd;
$myline =~ s/[^\x00-\x7F]//g;
####
use Test::More tests => 4*7;
use Encode qw( decode encode );
my $enc = 'US-ASCII';
my $spc = encode($enc, ' ');
for (
[ "abc", "abc", "abc" ],
[ "abc\x{80}\x{81}", "abc ", "abc" ],
[ "abc\x{2660}\x{2661}", "abc ", "abc" ],
[ "abc\x{80}\x{81}\x{2660}\x{2661}", "abc ", "abc" ],
) {
{
(my $x = $_->[0]) =~ s/[\x80-\xff]/ /g;
is($x, $_->[1], 'linuxer s sub');
}
{
(my $x = $_->[0]) =~ s/[^\x00-\x7F]/ /g;
is($x, $_->[1], 'ikegami s sub');
}
{
my $x = decode($enc, encode($enc, $_->[0], sub { $spc }));
is($x, $_->[1], 'encode sub');
}
{
(my $x = $_->[0]) =~ tr/\x80-\xff//d;
is($x, $_->[2], 'linuxer tr del');
}
{
(my $x = $_->[0]) =~ tr/\x00-\x7F//cd;
is($x, $_->[2], 'ikegami tr del');
}
{
(my $x = $_->[0]) =~ s/[^\x00-\x7F]//g;
is($x, $_->[2], 'ikegami s del');
}
{
my $x = decode($enc, encode($enc, $_->[0], sub { '' }));
is($x, $_->[2], 'encode del');
}
}
####
ok 1 - linuxer s sub
ok 2 - ikegami s sub
ok 3 - encode sub
ok 4 - linuxer tr del
ok 5 - ikegami tr del
ok 6 - ikegami s del
ok 7 - encode del
ok 8 - linuxer s sub
ok 9 - ikegami s sub
ok 10 - encode sub
ok 11 - linuxer tr del
ok 12 - ikegami tr del
ok 13 - ikegami s del
ok 14 - encode del
not ok 15 - linuxer s sub
ok 16 - ikegami s sub
ok 17 - encode sub
not ok 18 - linuxer tr del
ok 19 - ikegami tr del
ok 20 - ikegami s del
ok 21 - encode del
not ok 22 - linuxer s sub
ok 23 - ikegami s sub
ok 24 - encode sub
not ok 25 - linuxer tr del
ok 26 - ikegami tr del
ok 27 - ikegami s del
ok 28 - encode del
# Looks like you failed 4 tests of 28.