$ perl -wMstrict -MO=Deparse sub find_symbol { got to here today } __END__ BEGIN { $^W = 1; } use strict; sub find_symbol { 'to'->got('today'->here); } - syntax OK $ perl -wMstrict -MO=Deparse sub find_symbol { I got to here today } __END__ Bareword "today" not allowed while "strict subs" in use at - line 2. - had compilation errors. BEGIN { $^W = 1; } use strict; sub find_symbol { 'got'->I('here'->to('today')); } #### $ perl -wMstrict -MO=Deparse -e 'sub x { foo bar }' BEGIN { $^W = 1; } use strict; sub x { 'bar'->foo; } -e syntax OK $ perl -wMstrict -MO=Deparse -e 'sub x { foo bar quz }' Bareword "quz" not allowed while "strict subs" in use at -e line 1. -e had compilation errors. BEGIN { $^W = 1; } use strict; sub x { 'bar'->foo('quz'); } $ perl -wMstrict -MO=Deparse -e 'sub x { foo bar quz baz }' BEGIN { $^W = 1; } use strict; sub x { 'bar'->foo('baz'->quz); } -e syntax OK $ perl -wMstrict -MO=Deparse -e 'sub x { foo bar quz baz bleep }' Bareword "bleep" not allowed while "strict subs" in use at -e line 1. -e had compilation errors. BEGIN { $^W = 1; } use strict; sub x { 'bar'->foo('baz'->quz('bleep')); }