Hi,
when writing
*{caller . '::vtx_get_page'} = sub {....};
Perl complains with
Use of "caller" without parentheses is ambiguous
Why is this expression ambiguous?
Hmm. I'm not entirely sure. `perldoc perldiag` says about this
warning:
Warning: Use of "%s" without parentheses is ambiguous
(S ambiguous) You wrote a unary operator followed by
something that looks like a binary operator that could
also have been interpreted as a term or unary operator.
But I don't see how that applies here. Obviously, "caller" is the
unary operator, but I don't see how the binary operator "." could also
be interpreted as a term or unary operator. `perldoc perlop`
certainly doesn't make reference to any unary "." operator.
I'm curious to see what other responses you get in this thread...
FWIW, you can reduce the issue to something as simple as:
perl -wle'$x = caller . "foo";'
Paul Lalli