| 1 | -------------
|
|---|
| 2 | Version 5.000
|
|---|
| 3 | -------------
|
|---|
| 4 |
|
|---|
| 5 | New things
|
|---|
| 6 | ----------
|
|---|
| 7 | The -w switch is much more informative.
|
|---|
| 8 |
|
|---|
| 9 | References. See t/op/ref.t for examples. All entities in Perl 5 are
|
|---|
| 10 | reference counted so that it knows when each item should be destroyed.
|
|---|
| 11 |
|
|---|
| 12 | Objects. See t/op/ref.t for examples.
|
|---|
| 13 |
|
|---|
| 14 | => is now a synonym for comma. This is useful as documentation for
|
|---|
| 15 | arguments that come in pairs, such as initializers for associative arrays,
|
|---|
| 16 | or named arguments to a subroutine.
|
|---|
| 17 |
|
|---|
| 18 | All functions have been turned into list operators or unary operators,
|
|---|
| 19 | meaning the parens are optional. Even subroutines may be called as
|
|---|
| 20 | list operators if they've already been declared.
|
|---|
| 21 |
|
|---|
| 22 | More embeddible. See main.c and embed_h.sh. Multiple interpreters
|
|---|
| 23 | in the same process are supported (though not with interleaved
|
|---|
| 24 | execution yet).
|
|---|
| 25 |
|
|---|
| 26 | The interpreter is now flattened out. Compare Perl 4's eval.c with
|
|---|
| 27 | the perl 5's pp.c. Compare Perl 4's 900 line interpreter loop in cmd.c
|
|---|
| 28 | with Perl 5's 1 line interpreter loop in run.c. Eventually we'll make
|
|---|
| 29 | everything non-blocking so we can interface nicely with a scheduler.
|
|---|
| 30 |
|
|---|
| 31 | eval is now treated more like a subroutine call. Among other things,
|
|---|
| 32 | this means you can return from it.
|
|---|
| 33 |
|
|---|
| 34 | Format value lists may be spread over multiple lines by enclosing in
|
|---|
| 35 | a do {} block.
|
|---|
| 36 |
|
|---|
|
|---|