Changes for version 9.022

  • Parser:
  • Implemented compile-time scratchpad, used in BEGIN blocks.
  • "Use" is no longer an AST node, because all "use" statements are executed at compile-time
  • JavaScript:
  • fix "range" special cases
  • regex /s /x modifiers
  • variable redeclaration
  • fixed a performance problem in eval-string
  • Java:
  • eval-string
  • __DATA__ and <DATA> filehandle
  • TIESCALAR, AUTOLOAD
  • "Encode.pm" encode_utf8, decode_utf8
  • "Scalar::Util", "List::Util" ports.
  • BEGIN block fixes - "Exporter" works.
  • INIT and END blocks
  • "$$" variable (process id)
  • mkdir(), rmdir()
  • pack (a..X, @ and . with number working)
  • unpack (a,A,Z with number working)
  • splice()
  • optimize "for (0..1000000)"
  • s///e, tr//
  • glob deref - *{ $name }{CODE}->()
  • regex comments with "(?#text)"
  • regex modifiers /e /g /c
  • support for all primitive data types

Documentation

a Perl5 compiler

Modules

a Perl5 compiler