diff options
author | Rafael Garcia-Suarez <rgarciasuarez@gmail.com> | 2009-03-04 21:14:10 +0100 |
---|---|---|
committer | Rafael Garcia-Suarez <rgarciasuarez@gmail.com> | 2009-03-04 21:14:10 +0100 |
commit | 202d7cbdf6efc5f9c138c4460dce6d5b72603d2b (patch) | |
tree | fabeeb42707c4ac08856e8a8db79150d1efd9221 /op.c | |
parent | aa2407c5c40c18416d30710d13b3c1423d0bb212 (diff) | |
download | perl-202d7cbdf6efc5f9c138c4460dce6d5b72603d2b.tar.gz |
The new smart match dispatch table for 5.10.1 onwards
This /does/ break backwards compatibility. Changes to come are:
- ~~ is no longer commutative. Dispatch is now done based on the
(run-time) type of the right side argument.
- The right side can be a ".." range, which will be treated specially,
and no longer as a boolean operator (as in scalar context).
- when() should treat "..." as a boolean operator.
- Coderefs with an empty prototype are no longer special.
- Any ~~ Array distributes the smart match test.
- Comparing two coderefs is no longer a special case and does not
perform referential equality. (Use \&foo ~~ "".\&bar for that.)
This patch also documents that ~~ won't work on objects that don't
overload it, except in the expression $object ~~ undef.
Diffstat (limited to 'op.c')
0 files changed, 0 insertions, 0 deletions