$ perl -MO=Deparse -e " sub foo (&) {}; foo {;;} // 7 " Number found where operator expected at -e line 1, near "// 7" (Missing operator before 7?) Too many arguments for main::foo at -e line 1, near "// 7" syntax error at -e line 1, near "// 7" -e had compilation errors. sub foo (&) { } $ perl -e " // 1 " Number found where operator expected at -e line 1, near "// 1" (Missing operator before 1?) syntax error at -e line 1, near "// 1" Execution of -e aborted due to compilation errors. $ perl -le " sub foo (&) {}; foo sub{;;} +// 7 " Number found where operator expected at -e line 1, near "// 7" (Missing operator before 7?) Type of arg 1 to main::foo must be block or sub {} (not addition (+)) at -e line 1, near "// 7" syntax error at -e line 1, near "// 7" Execution of -e aborted due to compilation errors. $ perl -le " sub foo (&) {}; foo sub{;;} +//, 7 " Type of arg 1 to main::foo must be block or sub {} (not addition (+)) at -e line 1, at EOF Too many arguments for main::foo at -e line 1, at EOF Execution of -e aborted due to compilation errors. $ perl -le " sub foo (&) {}; foo sub{;;} ,//, 7 " Too many arguments for main::foo at -e line 1, at EOF Execution of -e aborted due to compilation errors.