package ExtUtils::Constant::Aaargh56Hash;
# A support module (hack) to provide sane Unicode hash keys on 5.6.x perl
use strict;
require Tie::Hash;
use vars '@ISA';
@ISA = 'Tie::StdHash';
#my $a;
# Storing the values as concatenated BER encoded numbers is actually going to
# be terser than using UTF8 :-)
# And the tests are slightly faster. Ops are bad, m'kay
sub to_key {pack "w*", unpack "U*", ($_[0] . pack "U*")};
sub from_key {defined $_[0] ? pack "U*", unpack 'w*', $_[0] : undef};
sub STORE { $_[0]->{to_key($_[1])} = $_[2] }
sub FETCH { $_[0]->{to_key($_[1])} }
sub FIRSTKEY { my $a = scalar keys %{$_[0]}; from_key (each %{$_[0]}) }
sub NEXTKEY { from_key (each %{$_[0]}) }
sub EXISTS { exists $_[0]->{to_key($_[1])} }
sub DELETE { delete $_[0]->{to_key($_[1])} }
#END {warn "$a accesses";}
1;
Copyright 2K16 - 2K18 Indonesian Hacker Rulez