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