Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation
 
PerlMonks  

Re: hash, a troublemaker?

by mce (Curate)
on May 12, 2004 at 12:22 UTC ( #352703=note: print w/ replies, xml ) Need Help??


in reply to hash, a troublemaker?

Hey,

Just for the fun of it.

#!/usr/local/bin/perl package MyTie; use Tie::Hash; @ISA=(Tie::ExtraHash); sub STORE { my $self=shift; my $key=shift; my $value=shift; if ( grep /^$key$/, @{$self->[1]} ) { warn "key $key not valid"; return undef; } return $self->[0]{$key}=$value; } 1; package main; use strict; use Data::Dumper; my $rhash; tie %$rhash, 'MyTie', [qw(not ok)]; $rhash->{b}=2; $rhash->{not}=2; warn Dumper($rhash); 1;
Of course, the solutions given above are much better, but isn't perl just a lot of fun.......
Of course, the compiler will not complain on this solution, so it is only a half solution.

---------------------------
Dr. Mark Ceulemans
Senior Consultant
BMC, Belgium


Comment on Re: hash, a troublemaker?
Download Code
Re: Re: hash, a troublemaker?
by davorg (Chancellor) on May 12, 2004 at 12:40 UTC
    Or, from the CPAN Tie::Hash::FixedKeys. (of course, the Hash::Util::lock_keys solution is better.)
    --
    <http://www.dave.org.uk>

    "The first rule of Perl club is you do not talk about Perl club."
    -- Chip Salzenberg

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://352703]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (12)
As of 2015-07-03 13:17 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (53 votes), past polls