Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW

Re: Creating dynamic variables

by tobyink (Abbot)
on Jan 03, 2013 at 15:06 UTC ( #1011467=note: print w/replies, xml ) Need Help??

in reply to Creating dynamic variables

This is about the closest I could get...

use strict; use warnings; BEGIN { package JIT; # Just In Time evaluation $INC{''} = __FILE__; use base 'Exporter'; our @EXPORT = 'jit'; sub jit (&) { bless $_[0] } use overload q[""] => 'evaluate', q[0+] => 'evaluate', q[bool] => 'evaluate', fallback => 1; sub evaluate { $_[0]->() } }; use JIT; my $foo = "hello"; my $y; # needs to be declared, but we haven't assigned a value to it +yet. my $x = jit { "$foo".$y }; # $y is not yet defined. $y = "world"; # now define $y print $x;
perl -E'sub Monkey::do{say$_,for@_,do{($monkey=[caller(0)]->[3])=~s{::}{ }and$monkey}}"Monkey say"->Monkey::do'

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1011467]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others cooling their heels in the Monastery: (5)
As of 2017-07-21 10:14 GMT
Find Nodes?
    Voting Booth?
    I came, I saw, I ...

    Results (320 votes). Check out past polls.