if (c()) { f(); g() } #### c() and do { f(); g() }; #### $ diff -u \ > <( perl -MO=Concise,-exec -e' if (c()) { f(); g() } ' 2>&1 ) \ > <( perl -MO=Concise,-exec -e' c() and do { f(); g() } ' 2>&1 ) --- /dev/fd/63 2009-07-07 12:25:27.614985473 -0400 +++ /dev/fd/62 2009-07-07 12:25:27.598984321 -0400 @@ -1,6 +1,6 @@ -e syntax OK 1 <0> enter -2 <;> nextstate(main 3 -e:1) v +2 <;> nextstate(main 2 -e:1) v 3 <0> pushmark s 4 <#> gv[*c] s/EARLYCV 5 <1> entersub[t2] sKS/TARG,1