I was disappointed yesterday to find out I couldn't fully use Sumerian numbers even though I don't know a thing about them. Given the ASCII program:
use 5.010_000; use strict; use warnings; use version qw( qv ); use Devel::Peek qw( Dump ); use charnames qw( :full );
binmode STDOUT, ':encoding(utf8)'; eval "use utf8; package Booga; our \$VERSION = '\N{CUNEIFORM NUMERIC SIGN TWO ASH}'; \$INC{'Booga.pm'} = 1; sub iz { 'Okay!' }
1; " or die $@;
eval "use utf8; use Booga \N{CUNEIFORM NUMERIC SIGN THREE ASH}; print Booga::iz(), qq{\\n}; 1; " or die $@;
Dump( $Booga::VERSION > 1); Dump( Booga->VERSION ); Dump( qv( $Booga::VERSION ) );
Bareword "𒐉" not allowed while "strict subs" in use at (eval 7) line 2.
Version string '𒐉' contains invalid data; ignoring: '𒐉' at (eval 7) line 2. Booga version 2 required--this is only version 0 at (eval 7) line 2.
Argument "\x{12409}" isn't numeric in numeric gt (>) at booga line 27.
Version string '𒐉' contains invalid data; ignoring: '𒐉' at booga line 28.
SV = PV(0x82ca18) at 0x847b30 REFCNT = 1 FLAGS = (POK,pPOK) PV = 0x25beb0 "0"\0 CUR = 1 LEN = 16