in reply to Smart match operator support in Strawberry perl 5.10.0.1
It seems to be partially working, though
(I'm reading that that you would like it to match in the list case (1, 17, 4) ~~ 17, too.)
I think it doesn't treat arrays and lists the same way (from "Smart matching in detail" in perlsyn):
$a $b Type of Match Implied Matching Code ====== ===== ===================== ============= ... Array Num array contains number grep $_ == $b, @$a ...
If you have a list instead of an array, it interprets it in scalar context, i.e. it just uses the last element, here 4:
say "second match succeeds" if ((1, 17, 4) ~~ 4);
I personally find this somewhat counterintuitive, too, but I suspect the language designers have had their reason to make it behave that way...
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Smart match operator support in Strawberry perl 5.10.0.1 (array vs. list)
by jds17 (Pilgrim) on May 22, 2008 at 15:57 UTC |