in reply to It's so easy to become complacent.

Are you talking about this:
$ python -c 'print("START"); print(x + y)' START Traceback (most recent call last): File "<string>", line 1, in <module> NameError: name 'x' is not defined $ perl -E 'use strict; say "START"; say $x + $y' Global symbol "$x" requires explicit package name (did you forget to d +eclare "my $x"?) at -e line 1. Global symbol "$y" requires explicit package name (did you forget to d +eclare "my $y"?) at -e line 1. Execution of -e aborted due to compilation errors.
Now, this is Python and not Lua and maybe Python does have some 'strict' mode hidden somewhere... but I think it doesn't and it's pretty gross that it actually executes some code (print("START")) before crashing. I take it Lua also doesn't the equivalent of 'strict "vars"'.
Which makes the current state of the community all the more depressing.
Well, OTOH, I heard Lua has sane and simple C API, while Perl has XS... nothing is perfect.

Replies are listed 'Best First'.
Re^2: It's so easy to become complacent.
by salva (Canon) on Feb 25, 2016 at 09:00 UTC
    bah, variables are just one of so many things!!!
    $ perl -E 'use strict; sub foo { say "hello" }; say "runtime!"; f00()' runtime! Undefined subroutine &main::f00 called at -e line 1.

    Though I have to admit that not being able to declare variables explicitly (and as result, their scope) is for me one of the mayor Python issues.

      That's why I like to omit the parentheses whenever possible:
      $ perl -E 'use strict; sub foo { say "hello" }; say "runtime!"; foo' runtime! hello $ perl -E 'use strict; sub foo { say "hello" }; say "runtime!"; f00' Bareword "f00" not allowed while "strict subs" in use at -e line 1. Execution of -e aborted due to compilation errors.
Re^2: It's so easy to become complacent.
by Anonymous Monk on Feb 25, 2016 at 04:31 UTC

    perl -E 'BEGIN { say "uh-uh" } use strict; say "START"; say $x + $y'

      Is that supposed to be a counterexample or what?..

        It's not supposed to be anything. It is a counterexample. If you have an actual question you need help with, just ask.