On 2010.04.29 23:23, Uri Guttman wrote:
>>>>>> "SB" == Steve Bertrand <[email protected]> writes:
>
> SB> use Tie::RegexpHash;
>
> SB> my $number = qr/^\d+$/;
> SB> my $alpha = qr/^\w+$/;
>
> SB> tie my %dt, 'Tie::RegexpHash';
>
> that sounds like an insane idea for a module. but that is IMO. you can
> do this with much less effort with a list of regexes paired with code
> refs.
It's not my module. An example of what you just described would be most
appreciated ;)
> SB> $dt{ common }( $param ) ;
>
> that is the bug. all code refs need to be called either with & prefix or
> by ->(). you have neither.
>
> $dt{ common }->( $param ) ;
I swear I tried that. I'm obviously missing something. Why is the
following code working without the prefix, or the ->. Am I wrong in
thinking that what I'm doing below is a coderef?:
#!/usr/bin/perl
use warnings;
use strict;
my %dt = (
a => sub {
my $in = shift;
print "allo, $in\n"
},
);
$dt{ a }( 'uri' );
__END__
Thanks Uri, as always,
Steve
--
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
http://learn.perl.org/