Changes for version 9.023
- Parser:
- some "goto" forms are transformed, so they work in JavaScript and Java backends.
- fix chomp(), chop()
- fix fat-arrow in argument lists
- fix indirect object
- indented heredoc with <<~"tag"
- use $^H and %^H
- set Perl version to 5.026
- add core modules: Env Benchmark, Memoize DirHandle, File::Spec, File::Basename, Text::Abbrev, Text::ParseWords Time::Local, Time::localtime, Time::gmtime Getopt::Std, Getopt::Long Tie::Hash, Tie::Scalar, Tie::Array, warnings::register, Fcntl, Symbol, Term::ANSIColor, FindBin IO, IO::Handle, IO::Seekable, IO::File, Class::Struct, Perl::OSType integer, if, parent, subs, mro
- syntax fixes for hash vs. block, and ${var->{index}}
- CORE:: prefix (CORE::print, CORE::tr)
- CORE::GLOBAL special namespace
- CORE functions can be overridden
- stacked operators in "-X" file test
- remove "." from @INC
- decode source code "magic number" for UTF-8, UTF-16LE, UTF-16BE
- "hexfloat" literals
- new operators '|.', '|.=', '&.', '&.=', '^.', '^.=', '~.'
- "\N{U+263D}", "\N{YIN YANG}" string escape sequence
- JavaScript:
- fix some special cases with "$#" sigil
- Java:
- javax.script API registers "Perl5" interpreter example at misc/Java/Script.java
- "jrunscript" support $ jrunscript -cp .:perlito5.jar -l Perl5
- global variable lookup is cached
- fix $^O, returns the the operating system name
- "require", "require VERSION"
- "opendir", "readdir", "closedir", "select", "binmode"
- "vec"
- "localtime", "gmtime"
- tied hash
- tied array
- overload implemented for about half of the operators
- strict refs
- srand() returns true, warns on overflow
- fix read-only values
- "$\", "$;", "$^T"
- caller() now works "natively", decoding the Java stack trace
- symbol tables like %:: and typeglobs support
- file tests: "-e", "-l", "-r", "-w", "-x"
- lvalue ternary "?:", "vec", "substr"
- regex modifier /xx /r
- regex %+ named captures
- regex named captures can have underscore in the name
- SUPER method call
- add core modules: Cwd, Sys::Hostname
Documentation
a Perl5 compiler
Modules
a Perl5 compiler