in reply to Re: Locator to Lat/Long code: works, but is inelegant
in thread Locator to Lat/Long code: works, but is inelegant

Aargh! Forgot about the zero'th rule of Perl programming: check CPAN first! I just got into the habit of sub declaration, because I remember warnings being generated if you didn't.

-- 
bowling trophy thieves, die!

  • Comment on Re^2: Locator to Lat/Long code: works, but is inelegant

Replies are listed 'Best First'.
Re^3: Locator to Lat/Long code: works, but is inelegant
by Anonymous Monk on Jul 03, 2011 at 17:36 UTC

    I just got into the habit of sub declaration, because I remember warnings being generated if you didn't.

    Its all about parens. If you use parens, no warnings. You use parens :)

    $ perl -le " f(1); sub f{warn@_} " 1 at -e line 1. $ perl -le " f 1 ; sub f{warn@_} " Number found where operator expected at -e line 1, near "f 1" (Do you need to predeclare f?) syntax error at -e line 1, near "f 1" Execution of -e aborted due to compilation errors. $ perl -le " sub f; f 1 ; sub f{warn@_} " 1 at -e line 1.
      Defining a sub also "declares" it:
      $ perl -le "sub f{warn@_} f 1" 1 at -e line 1.

        Defining a sub also "declares" it

        Except when it declares it too-late for the parser to notice

        The OP uses parens, so the parser doesn't need a "forward" declaration or re-arranging of sourcecode