Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid

Re: How's your Perl?

by ambrus (Abbot)
on Jun 08, 2005 at 09:32 UTC ( #464608=note: print w/replies, xml ) Need Help??

in reply to How's your Perl?

Here's a new solution for question 3a. This is not strict in the sense that you have to turn off strict for the set-up code to work. However, the actual test \$foo->[1] == \$foo->{1} runs under strict, unlike in my original symbolic ref solution.

I think that this solution differs from all the solutions given so far, so I submit it even though this puzzle is now quite old.

$R = "Regexp::"; *{"$R(\@{}"} = sub { &{sub{\@_}}(2,$t{1}) }; *{"$R(%{ +}"} = sub { \%t }; *{"$R()"} = sub {}; ${"${R}OVERLOAD"}{$(}--; our $ +foo = qr/a/; use strict; \$foo->[1] == \$foo->{1} or die;

And for super-search purposes, this solution uses operator overloading on the Regexp package.

Log In?

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

How do I use this?Last hourOther CB clients
Other Users?
Others perusing the Monastery: (6)
As of 2023-12-07 06:00 GMT
Find Nodes?
    Voting Booth?
    What's your preferred 'use VERSION' for new CPAN modules in 2023?

    Results (32 votes). Check out past polls.