Here are the slides from the Modern Core Perl talk that I gave at the LPW yesterday.
Modern Core Perl
View more presentations from Dave Cross
A great day at the workshop as always. And what a lot of people there were! Thanks to everyone who organised, spoke or attended.
Hi,
First: thanks for sharing!
Second: I’m very happy to see notices I didn’t know, like the HTTP::Tiny in core, etc too many time without read delta or brew new versions…
Greetings!
Slide 24 of 61 Smart Match Examples
In Perl 5.10.0
perl -le ‘@a=(1,2,3); print “found\n” if @a ~~ 2;’
found
perl -le ‘@a=(1,2,3); print “found\n” if 2 ~~ @a;’
found
In Perl 5.10.1 and above:
perl -le ‘@a=(1,2,3); print “found\n” if @a ~~ 2;’
perl -le ‘@a=(1,2,3); print “found\n” if 2 ~~ @a;’
found
You example uses @foo ~~ bar which does not work since 5.10.0. To find scalar in array the array has to be the second.
You’re absolutely right, of course. In my defence, that slide is in the 5.10 section, so the code does work.
But I should reverse the order of the operands in all of those examples.
Thanks.