Changes for version 2.0.0 - 2010-03-16

  • Incompatible Changes
  • In general, methods which return a list return an array in list context and an array ref in scalar context. This enables chaining of autoboxed methods.
  • $module->load() is now $module->require() with simpler semantics. [github 107] [schwern]
  • Indirect object syntax (ie. $obj = new Class) is now a compile time syntax error.
  • $thing->mo now always returns a meta instance object. This allows the meta object to DWIM on plain strings which previously would be treated as classes and return the meta class object.
  • The guaranteed range of gm/localtime() has been reduced to avoid depending on Time::y2038 if possible.
  • $thing->perl is now $thing->mo->perl and works on everything.
  • New Features
  • $thing->mo->is_equal($other) universal equality method. [brunov]
  • $thing->mc has been added to always return a meta class object. This allows disambiguation when $thing could be considered a class name.
  • new autoboxed methods: %hash->diff() and %hash->intersect() [brunov]
  • Added $thing->mo->dump to dump objects in multiple formats including YAML and JSON.
  • Fixes
  • Update dep on autovivification to one that works on 5.11 [schwern]
  • Update autobox::Core dep to clarify scalar vs list context returns.
  • Fix taint test failing with Test::More 0.95_01. [schwern]
  • Fix time compat test failing because of unknown time zones. [schwern]
  • Time::y2038 is only required if the built in time functions are not up to task. [schwern]
  • Optimizations
  • Optimize @array->intersect() and @array->diff() when @array contains no refs.
    • brunov

Documentation

Frequently Asked Questions about perl5i

Modules

Fix as much of Perl 5 as possible in one pragma
The perl5i meta object
Use the latest version of perl5i

Provides

in lib/perl5i/2/DateTime.pm
in lib/perl5i/2/DateTime.pm
in lib/perl5i/2/DateTime.pm
in lib/perl5i/0.pm
in lib/perl5i/1.pm
in lib/perl5i/1/ARRAY.pm
in lib/perl5i/1/CODE.pm
in lib/perl5i/1/DateTime.pm
in lib/perl5i/1/HASH.pm
in lib/perl5i/1/Meta.pm
in lib/perl5i/1/Meta/Class.pm
in lib/perl5i/1/Meta/Instance.pm
in lib/perl5i/1/SCALAR.pm
in lib/perl5i/1/UNIVERSAL.pm
in lib/perl5i/1/autobox.pm
in lib/perl5i/2.pm
in lib/perl5i/2/ARRAY.pm
in lib/perl5i/2/CODE.pm
in lib/perl5i/2/DateTime.pm
in lib/perl5i/2/HASH.pm
in lib/perl5i/2/Meta.pm
in lib/perl5i/2/Meta/Class.pm
in lib/perl5i/2/Meta/Instance.pm
in lib/perl5i/2/SCALAR.pm
in lib/perl5i/2/UNIVERSAL.pm
in lib/perl5i/2/autobox.pm
in lib/perl5i/2/equal.pm