in reply to Re: Preventing Use of uninitialized value.
in thread Preventing Use of uninitialized value.

Unfortunately, // has a different precedence:
if (($line // '') =~ /(\bTest\b\s+.+\s+\baccount\b)?/)

Easy to verify with B::Deparse:

$ perl -MO=Deparse,-p -e 'if ($line // "" =~ /(\bTest\b\s+.+\s+\baccou +nt\b)?/) {}' if (($line // ('' =~ /(\bTest\b\s+.+\s+\baccount\b)?/))) { (); } -e syntax OK

($q=q:Sq=~/;[c](.)(.)/;chr(-||-|5+lengthSq)`"S|oS2"`map{chr |+ord }map{substrSq`S_+|`|}3E|-|`7**2-3:)=~y+S|`+$1,++print+eval$q,q,a,

Replies are listed 'Best First'.
Re^3: Preventing Use of uninitialized value.
by 1nickt (Canon) on Dec 13, 2018 at 18:27 UTC

    Yep! As you were writing that I was composing another reply in which I discovered that fact.

    Thanks for the correction.


    The way forward always starts with a minimal test.