On Tue, Apr 23, 2019 at 9:33 PM ToddAndMargo via perl6-users <perl6-users@perl.org <mailto:perl6-users@perl.org>> wrote:

    Hi All,

    I found out the hard way after upgrading Perl 6

    $ perl6 -v
    This is Rakudo version 2019.03 built on MoarVM version 2019.03
    implementing Perl 6.d.

    That 2019.03 can no longer tell the difference between
    Perl 5 modules (*.pm) and Perl 6 modules (*.pm6) and
    will read in the Perl 5 module and bitch about you coding
    in Perl 5


    For example.  I have both a Pause.pm and a Pause.pm6 module.
    Perl 6 reads the wrong one.

    $ perl6 -I. -MPause
    ===SORRY!=== Error while compiling:
    This appears to be Perl 5 code. If you intended it to be Perl 6 code,
    please use a Perl 6 style declaration like "unit package Foo;" or "unit
    module Foo;", or use the block form instead of the semicolon form.
    ------> package Pause;⏏<EOL>


    <editorial comment> AAAAAAAAHHHHHHHHHHHH!!!!!!!!!! </editorial comment>

    Hope this does not bite any of the rest of you.

    -T


On 4/24/19 8:11 AM, yary wrote:
Is this from having your own p5 and p6 modules in the same directory? Seems like separating them into p5lib, p6lib directories is a quick solution.

If you have been pointing both zef and cpan to install in the same directory, no easy answer comes to mind. Maybe there's a way to adjust what rakudo thinks are acceptable extensions for modules, but then if you start fiddling with that, you code will break on future perl6 modules that start using ".pm".

-y

Hi Yary,

I "did" mix my p5 and p6 modules in the same directory.
Not any more.  I used grep to go througn all more code and
manually edit "lib".   Don't know if I got everything,
but as thing show up broken, I will know.  Not all of
my code is in this directory.  Some are scattered out
amongst the operating system, so this regression was not
really appreciated.

As far a breaking future code, this is a regression from previous
version, which demanded that p6 modules' extension was ".pm6".
Now it seems it will read anything.

And so far, p5 will not read p6's modules, which is nice of them.

At the minimum, I would like to see you guys place a specification
as to what the extension of modules can be, not just start
adding them at the whim of the developer.

-T

Reply via email to