Acme-BadFont
view release on metacpan or search on metacpan
lib/Acme/BadFont.pm view on Meta::CPAN
package Acme::BadFont;
use strict;
use warnings;
our $VERSION = '1.000000';
$VERSION =~ tr/_//d;
use Scalar::Util qw(dualvar looks_like_number);
use overload ();
sub import {
overload::constant(q => sub {
my $string = $_[1];
my $number = $string;
if (looks_like_number($number)) {
return $string;
}
elsif ($number =~ tr/OoIlZzEASsGBq/0011223455689/ and looks_like_number($number)) {
$number += 0;
return dualvar($number, $string);
}
return $string;
});
}
sub unimport {
overload::remove_constant('q');
}
1;
__END__
=head1 NAME
Acme::BadFont - Cope with a bad font in your editor
use strict;
use warnings;
use Test::More;
my @warnings;
{
local $SIG{__WARN__} = sub { push @warnings, @_ };
eval '#line '.(__LINE__+1).' "'.__FILE__.q{"
use Acme::BadFont;
cmp_ok "1OO" + 1, '==', 0+"I0I";
cmp_ok "I.S" * 2, '==', 0+"E";
1;
} or die $@;
}
is join('', @warnings), '', 'no warnings';
done_testing;
( run in 0.244 second using v1.01-cache-2.11-cpan-4d50c553e7e )