"with"... with 'apple'.index('a') { say "Found at position $_" } else { "Not here" }
# Found at position 0 with 'apple'.index('b') { say "Found at position $_" } else { "Not here" } # Not here -y On Tue, Sep 11, 2018 at 8:16 AM, Timo Paulssen <t...@wakelift.de> wrote: > On 11/09/18 17:11, yary wrote: > > "Nil... it's a constant, so you have to use =:= to check for equality." > > Can you elaborate on that requirement? == works for an equality checks > with numeric constants- must be more than Nil's constant-ness that makes > one use =:= - perhaps that Nil doesn't numify to anything? > > > Nil does numify, but using == comparison for this is still problematic for > two reasons: > > 1) Nil numifies to 0, which is a valid "true" result for the index method > and > 2) it outputs a warning: > > Use of Nil in numeric context > in block <unit> at -e line 1 > > using ~~ instead of =:= should also be okay, or checking for definedness > with either .defined or using "with" instead of "if", which is very useful > especially for index and friends. > > HTH > - Timo >