in reply to Re: Confused by a couple of idioms
in thread Confused by a couple of idioms

Ah, I was reading the precedence like this: ($csv and $xls) = $csv;

I think the lowercase "and" basically makes it act more like this: $csv and ($xls = $csv)

$PM = "Perl Monk's";
$MCF = "Most Clueless Friar Abbot Bishop Pontiff Deacon Curate Priest Vicar";
$nysus = $PM . ' ' . $MCF;
Click here if you love Perl Monks

Replies are listed 'Best First'.
Re^3: Confused by a couple of idioms
by Athanasius (Archbishop) on Feb 22, 2019 at 02:40 UTC
    I think the lowercase "and" basically makes it act more like this: $csv and ($xls = $csv)

    Correct. Deparsing makes it even clearer:

    12:28 >perl -MO=Deparse -e "$csv and $xls = $csv;" $xls = $csv if $csv; -e syntax OK 12:29 >

    Hope that helps,

    Athanasius <°(((><contra mundum Iustus alius egestas vitae, eros Piratica,

      Damn, that's crazy. Never knew about that.

      $PM = "Perl Monk's";
      $MCF = "Most Clueless Friar Abbot Bishop Pontiff Deacon Curate Priest Vicar";
      $nysus = $PM . ' ' . $MCF;
      Click here if you love Perl Monks

Re^3: Confused by a couple of idioms
by dsheroh (Monsignor) on Feb 22, 2019 at 08:18 UTC
    I think the lowercase "and" basically makes it act more like this: $csv and ($xls = $csv)
    Yep. That's basically the entire reason that the and and or operators exist. and and or are low-precedence (making them useful for flow control), while && and || are high-precedence (making them useful for boolean logic). This is why, 99% of the time, open ... or die is correct and open ... || die is wrong.