If you plan to use the same search paths for mixed Perl 5 + 7 libraries, then the information about which language to use has to be in the module, not in the caller.
Otherwise you run into weird issues where you have "use5 A::B" but "use7 A::C", and then A::B cannot upgrade to Perl 7, because all the callers still use "use5" to load it (whatever the syntax turns out to be). Also, you spread the knowledge what language something is implemented in all around the place.
So, I guess it was kinda short-sighted for me to bring up the "use DBI:from;" example, because it doesn't map well onto the perl 5 + 7 situation.
Now my personal favorite is "use v7;", because it has a clear scope, doesn't introduce a flurry keywords for future versions, and has an obvious upgrade path to Perl 8.
]]>If you run a script using perl7 foo.pl, and it "use"s a module, does it apply Perl 7 defaults to the module?
It feels like the answer should be "yes", but it has to be "no" to preserve Perl 5 modules to be usable from Perl 7 -- or you have to invent another syntax to load a module as a Perl 5 module (like Raku's Inline::Perl5 allows "use DBI:from;").
]]>That said, I'd be fine with a replacement module that works similarly to Python's NamedTuple (that is, you specify the keys at hash creation time, instead of locking/unlocking keys at any point in time), or a proper object storage (like P6Opaque in Perl 6).
]]>But who knows, maybe in future there's something other than a character that does movement? (a vehicle maybe?)
]]>Question: do you want to hear more about my attempts to create an MMORPG in Perl, even if posts are not Perl-related?
Doesn't quite fit the "RPG" part, but it fits the "MMO" part: http://www.lacunaexpanse.com/ the backend is mostly Perl.
]]>I for one attend YAPC mostly for the hallway track (talks are secondary), so having food in the hallway would be important for me.
]]>And if so, are we really not going to have a single talk on Perl 6? I know that some good speakers (and I don't mean me :-) have submitted talks on Perl 6, and I'd be rather disappointed if they all got rejected.
Can anybody tell me what's going on?
]]>say (2012..2017 X 1..12).map(-> $y, $m { Date.new($y, $m, 13) }).grep(*.day-of-week == 5)]]>
MAKEFLAGS=-j4 perlbrew ...
to compile with 4 jobs in parallel.
]]>And while require_module is certainly a start in the right direction, it might make more sense to start exposing the more low-level operations to the user space: Validation of a module name, translation from module name to file name, and looking up a file name in @INC.
]]>