in reply to Re: Not case sensitive hash?
in thread Not case sensitive hash?
File TieHashCI.pm:
and use it in your main program:package TieHashCI; use Tie::Hash; use vars qw (@ISA); @ISA = qw(Tie::StdHash); #my $exists = 0; sub STORE { my ($self, $key, $value) = @_; return( $self->{ lc $key } = $value ); } sub FETCH { my ($self, $key) = @_; # print ("Fetch $key\n"); return( $self->{ lc $key } ); } sub EXISTS { my ($self, $key) = @_; # $exists++; # print STDOUT ("."); return( exists $self->{ lc $key } ); } sub DEFINED { my ($self, $key) = @_; # print ("Defined $key\n"); return( defined $self->{ lc $key } ); } sub DELETE { my ($self, $key) = @_; # print ("Delete $key\n"); return (delete $self->{ lc $key } ); } # sub CLEAR {} # sub FIRSTKEY{}; # sub NEXTKEY{}; END { # print ("Exists: $exists\n"); } 1;
and then just work with it...use TieHashCI; my %data = (); tie (%data, 'TieHashCI');
If TieHashCI.pm is not in your @INC, try something like:
BEGIN { use FindBin qw($Bin); use lib "$Bin/lib"; # if TieHashCI is in ./lib } # BEGIN use TieHashCI;
But it wastes lots of ressources...
Best regards,
perl -e "s>>*F>e=>y)\*martinF)stronat)=>print,print v8.8.8.32.11.32"
|
|---|