Skip to content

Commit 463ee0b

Browse files
author
Larry Wall
committed
perl 5.0 alpha 4
[editor's note: the sparc executables have not been included, and emacs backup files have been removed. This was reconstructed from a tarball found on the September 1994 InfoMagic CD; the date of this is approximate]
1 parent 93a17b2 commit 463ee0b

File tree

213 files changed

+22226
-15059
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

213 files changed

+22226
-15059
lines changed

Artistic

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -115,10 +115,16 @@ equivalent of input as in Paragraph 6, provided these subroutines do
115115
not change the language in any way that would cause it to fail the
116116
regression tests for the language.
117117

118-
8. The name of the Copyright Holder may not be used to endorse or promote
118+
8. Aggregation of this Package with a commercial distribution is always
119+
permitted provided that the use of this Package is embedded; that is,
120+
when no overt attempt is made to make this Package's interfaces visible
121+
to the end user of the commercial distribution. Such use shall not be
122+
construed as a distribution of this Package.
123+
124+
9. The name of the Copyright Holder may not be used to endorse or promote
119125
products derived from this software without specific prior written permission.
120126

121-
9. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
127+
10. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
122128
IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
123129
WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
124130

Bugs/assignglob

Lines changed: 0 additions & 34 deletions
This file was deleted.

Bugs/crash1

Lines changed: 0 additions & 23 deletions
This file was deleted.

Bugs/crash2

Lines changed: 0 additions & 1 deletion
This file was deleted.

Bugs/pagdir

100644100755
File mode changed.

Bugs/replacecase

Lines changed: 0 additions & 1 deletion
This file was deleted.

Bugs/shiftref

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
shift->[0]

Bugs/stuff

Lines changed: 0 additions & 64 deletions
This file was deleted.

Changes

Lines changed: 53 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,9 @@
1-
Incompatibilities
2-
-----------------
3-
s'$lhs'$rhs' now does no interpolation on either side. It used to
4-
interplolate $lhs but not $rhs.
5-
6-
The second and third arguments of splice are now evaluated in scalar
7-
context (like the book says) rather than list context.
8-
9-
Saying "shift @foo + 20" is now a semantic error because of precedence.
10-
11-
"open FOO || die" is now incorrect. You need parens around the filehandle.
12-
13-
The elements of argument lists for formats are now evaluated in list
14-
context. This means you can interpolate list values now.
15-
16-
You can't do a goto into a block that is optimized away. Darn.
17-
18-
It is no longer syntactically legal to use whitespace as the name
19-
of a variable.
20-
21-
Some error messages will be different.
22-
23-
The caller function now a false value in a scalar context if there is
24-
no caller. This lets library files determine if they're being required.
25-
26-
m//g now attaches its state to the searched string rather than the
27-
regular expression.
28-
291
New things
302
----------
313
The -w switch is much more informative.
324

33-
References. See t/op/ref.t for examples.
5+
References. See t/op/ref.t for examples. All entities in Perl 5 are
6+
reference counted so that it knows when each item should be destroyed.
347

358
Objects. See t/op/ref.t for examples.
369

@@ -42,7 +15,9 @@ New things
4215
meaning the parens are optional. Even subroutines may be called as
4316
list operators if they've already been declared.
4417

45-
More embeddible. See main.c and embed_h.SH.
18+
More embeddible. See main.c and embed_h.SH. Multiple interpreters
19+
in the same process are supported (though not with interleaved
20+
execution yet).
4621

4722
The interpreter is now flattened out. Compare Perl 4's eval.c with
4823
the perl 5's pp.c. Compare Perl 4's 900 line interpreter loop in cmd.c
@@ -73,3 +48,51 @@ New things
7348
variables.
7449

7550
Saying "package;" requires explicit package name on global symbols.
51+
52+
The preferred package delimiter is now :: rather than '.
53+
54+
tie/untie are now preferred to dbmopen/dbmclose. Multiple DBM
55+
implementations are allowed in the same executable, so you can
56+
write scripts to interchange data among different formats.
57+
58+
New "and" and "or" operators work just like && and || but with
59+
a precedence lower than comma, so they work better with list operators.
60+
61+
New functions include: abs(), chr(), uc(), ucfirst(), lc(), lcfirst()
62+
63+
Incompatibilities
64+
-----------------
65+
@ now always interpolates an array in double-quotish strings. Some programs
66+
may now need to use backslash to protect any @ that shouldn't interpolate.
67+
68+
s'$lhs'$rhs' now does no interpolation on either side. It used to
69+
interplolate $lhs but not $rhs.
70+
71+
The second and third arguments of splice are now evaluated in scalar
72+
context (like the book says) rather than list context.
73+
74+
Saying "shift @foo + 20" is now a semantic error because of precedence.
75+
76+
"open FOO || die" is now incorrect. You need parens around the filehandle.
77+
78+
The elements of argument lists for formats are now evaluated in list
79+
context. This means you can interpolate list values now.
80+
81+
You can't do a goto into a block that is optimized away. Darn.
82+
83+
It is no longer syntactically legal to use whitespace as the name
84+
of a variable.
85+
86+
Some error messages will be different.
87+
88+
The caller function now returns a false value in a scalar context if there
89+
is no caller. This lets library files determine if they're being required.
90+
91+
m//g now attaches its state to the searched string rather than the
92+
regular expression.
93+
94+
"reverse" is no longer allowed as the name of a sort subroutine.
95+
96+
taintperl is no longer a separate executable. There is now a -T
97+
switch to turn on tainting when it isn't turned on automatically.
98+

MANIFEST

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ consarg.c Routines to construct arg nodes of a parse tree
5959
doSH Script to run all the *.SH files
6060
doarg.c Scalar expression evaluation
6161
doio.c I/O operations
62-
dolist.c Array expression evaluation
62+
doop.c Support code for various operations
6363
dosish.h
6464
dump.c Debugging output
6565
eg/ADB An adb wrapper to put in your crash dir

0 commit comments

Comments
 (0)