develooper Front page | perl.perl5.porters | Postings from July 2020

Re: Announcing Perl 7

Thread Previous | Thread Next
From:
Paul "LeoNerd" Evans
Date:
July 3, 2020 23:28
Subject:
Re: Announcing Perl 7
Message ID:
20200704002841.392dbdba@shy.leonerd.org.uk
On Fri, 3 Jul 2020 20:20:04 +0200
demerphq <demerphq@gmail.com> wrote:

> I want this:
> ---
> package Whatever;
> use v7;
> ---
> to not be an error. I don't want to have to write:
> 
> ---
> use v7;
> package Whatever;
> ---

Not that it matters much to the argument, but I have just found a very
minor reason to want to `use VERSION` even before your package
statement.

Perl 5.12 added the "package NAME VERSION;" syntax, meaning you can
write

  package Whatever 1.23;

instead of the more longwinded

  package Whatever;
  our $VERSION = 1.23;

Perl older than 5.12 will get upset:

  $ perl5.10.1 Whatever.pm
  syntax error at Whatever.pm line 1, near "package Whatever 1.23"
  Execution of Whatever.pm aborted due to compilation errors.

Not a huge problem, but if you write

  use v5.12;
  package Whatever 1.23;

then at least you get a prettier error message that doesn't confuse
users so much:

  $ perl5.10.1 Whatever.pm
  Perl v5.12.0 required--this is only v5.10.1, stopped at Whatever.pm line 1.

-- 
Paul "LeoNerd" Evans

leonerd@leonerd.org.uk      |  https://metacpan.org/author/PEVANS
http://www.leonerd.org.uk/  |  https://www.tindie.com/stores/leonerd/

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About