.contains tests whether its invocant, treated as a string, contains its argument, treated as a string.
The argument you've given to .contains is: "b" && not "q". That's not a string. Here's one option: my$x="abcd"; if $x.contains("b") && not $x.contains("q") {say "y"}else{say "n"}; On Tue, Dec 18, 2018 at 10:49 PM ToddAndMargo via perl6-users < perl6-us...@perl.org> wrote: > Hi All, > > Where is my booboo? > > $ p6 'my$x="abcd"; if $x.contains("b" && not "q") {say "y"}else{say "n"};' > > n > > > In the mean time, I will ue > if $x.contains("b") && not $x.contains( "q" ) > > > Many thanks, > -T > > -- > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > When you say, "I wrote a program that > crashed Windows," people just stare at > you blankly and say, "Hey, I got those > with the system, for free." > -- Linus Torvalds > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >