Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much
 
PerlMonks  

Re^3: Anonymous Hash in Constructor

by tobyink (Abbot)
on Oct 19, 2012 at 05:50 UTC ( #999873=note: print w/ replies, xml ) Need Help??


in reply to Re^2: Anonymous Hash in Constructor
in thread Anonymous Hash in Constructor

Ah, but using strict and warnings demonstrates that nothing in the example is considered bizarro stuff that Perl will complain about.

perl -E'sub Monkey::do{say$_,for@_,do{($monkey=[caller(0)]->[3])=~s{::}{ }and$monkey}}"Monkey say"->Monkey::do'


Comment on Re^3: Anonymous Hash in Constructor
Re^4: Anonymous Hash in Constructor
by Jim (Curate) on Oct 19, 2012 at 19:20 UTC
    Ah, but using strict and warnings demonstrates that nothing in the example is considered bizarro stuff that Perl will complain about.

    Yes, indeed. Adding even more stuff to the example could introduce many new invaluable lessons. A complete, well-written Perl application could serve as a primer in good object-oriented programming. No doubt. But my point here was simply that I learned a little something by going a bit reduction-crazy. Noise reduction as pedagogical aid.

    Disregarding the original topic of this thread entirely, I learned more still by playing with this…

    { package Class; sub new { bless {} } # sub new { bless [] } # sub new { bless \$scalar } # sub new { bless \&sub } sub Method { print "This is a method happening.\n" } } $object = Class->new; $object->Method;

      Then this will blow your mind...

      sub x { print {+shift} "this is a method happening\n" } bless \*STDOUT, main::; (\*STDOUT)->x;
      perl -E'sub Monkey::do{say$_,for@_,do{($monkey=[caller(0)]->[3])=~s{::}{ }and$monkey}}"Monkey say"->Monkey::do'

        Then will this blow yours?

        sub new { print {+shift} "This is a method happening.\n" } bless \*STDOUT; (\*STDOUT)->new;

        Probably not.

        (I'd have to have this explained to me to understand it.)

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others chanting in the Monastery: (10)
As of 2014-12-17 23:21 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (40 votes), past polls