Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
PerlMonks  

Re: what would you like to see in perl5.12? ($foo->do voodoo)

by Roy Johnson (Monsignor)
on Aug 22, 2007 at 20:23 UTC ( #634514=note: print w/ replies, xml ) Need Help??


in reply to what would you like to see in perl5.12?

Seems like you could roll your own UNIVERSAL::do to get pretty close to your second want.

use strict; use warnings; package UNIVERSAL; # Couldn't decide which syntax would be more likeable. sub do { my $ob = shift; my $method = shift; $ob->$method(@_); } sub do2 { my $ob = shift; my $method = shift; sub { $ob->$method(@_) }; } package U; sub voo { my $ob = shift; print "Called with @_\n"; } sub new { return bless {}; } package main; my $foo = U->new(); $foo->do('v'.'oo', 1..3); $foo->do2('v'.'oo')->(1..3);
Not really profound, but it gives me an excuse to say, "Now go do that $foo->do that U::do so well!"

Update: lodin points out that this is pretty close to UNIVERSAL::can. Which it is. Except you'd have to put the object back in the arg list:

$foo->do2('v'.'oo')->($foo,1..3);
Ugh.

Caution: Contents may have been coded under pressure.


Comment on Re: what would you like to see in perl5.12? ($foo->do voodoo)
Select or Download Code

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (6)
As of 2014-08-31 08:47 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The best computer themed movie is:











    Results (294 votes), past polls