$ perl -MO=Deparse -e 'sub ONE { 1 } if (ONE) { print ONE if ONE }' sub ONE { 1; } if (ONE) { print ONE() if ONE; } -e syntax OK $ perl -MO=Deparse -e 'sub ONE () { 1 } if (ONE) { print ONE if ONE }' sub ONE () { 1; } do { print 1 }; -e syntax OK #### $ perl -MO=Deparse -e 'use v5.36; sub ONE () { 1 } if (ONE) { print ONE if ONE }' sub BEGIN { require v5.36; () } use warnings; use strict; no feature ':all'; use feature ':5.36'; sub ONE () { 1; } if (ONE) { print ONE() if ONE; } -e syntax OK #### $ perl -MO=Deparse -e 'use v5.36; sub ONE :prototype() { 1 } if (ONE) { print ONE if ONE }' sub ONE () { 1; } sub BEGIN { require v5.36; () } use warnings; use strict; no feature ':all'; use feature ':5.36'; do { print 1 }; -e syntax OK #### $ perl -MO=Deparse -e 'use v5.36; sub ONE :prototype() () { 1 } if (ONE) { print ONE if ONE }' sub BEGIN { require v5.36; () } use warnings; use strict; no feature ':all'; use feature ':5.36'; sub ONE : prototype() () { 1; } if (ONE) { print ONE if ONE; } -e syntax OK #### $ perl -MO=Deparse -e 'use constant ONE => 1; if (ONE) { print ONE if ONE }' use constant ('ONE', 1); do { print 1 }; -e syntax OK $ perl -MO=Deparse -e 'use v5.36; use constant ONE => 1; if (ONE) { print ONE if ONE }' sub BEGIN { require v5.36; () } use warnings; use strict; no feature ':all'; use feature ':5.36'; use constant ('ONE', 1); do { print 1 }; -e syntax OK