in reply to Re^5: Dynamically constructed function calls
in thread Dynamically constructed function calls

*$_ = sub ... doesn't work if $_ is an integer.
Not true. Did you try it?
$ perl -we'*$_ = sub { print "I am 1 $_[1].\n" } for 1; $x = bless {}; + $meth = "1"; $x->$meth("world")' I am 1 world.
$_ isn't a lexical, so it doesn't get captured, producing "I am world" for output.
Correct.
What's after the -> has to start with a $, so do { @ARGV } wouldn't work even if it did return a scalar.
dragonchild was responding to my suggestion that ->do{} be made to work.

Replies are listed 'Best First'.
Re^7: Dynamically constructed function calls
by ikegami (Patriarch) on Nov 04, 2004 at 15:56 UTC

    "Not true. Did you try it?"

    yes, I did. Perl does many odd things, so I always try things before commenting on them. I even tried a few variations. None of them worked. It works, now, though, so I must have done somethig wrong, but I can't imagine what. X_X