Skip to content

Commit 7907280

Browse files
author
Larry Wall
committed
perl 5.0 alpha 2
[editor's note: from history.perl.org. The sparc executables originally included in the distribution are not in this commit.]
1 parent e334a15 commit 7907280

File tree

431 files changed

+61554
-38201
lines changed

Some content is hidden

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

431 files changed

+61554
-38201
lines changed

.package

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
: basic variables
2+
package=perl
3+
baserev=4.1
4+
patchbranch=1
5+
mydiff='diff -c'
6+
maintname='Larry Wall'
7+
maintloc='lwall@netlabs.com'
8+
ftpsite=''
9+
orgname='NetLabs, Inc.'
10+
newsgroups='comp.lang.perl'
11+
recipients=''
12+
ftpdir=''
13+
14+
: derivative variables--do not change
15+
revbranch="$baserev.$patchbranch"
16+
packver='1'

AppleMPW

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
2+
3+
4+
5+
6+
7+
Larry Wall
8+
Matthias Neeracher
9+
c/o 4920 El Camino Real
10+
Los Altos, CA 94022
11+
12+
March 26, 1993
13+
14+
15+
Gary Little
16+
M/S 37-X
17+
Apple Computer, Inc.
18+
20525 Mariani Ave.
19+
Cupertino, CA 95014
20+
21+
Dear Gary,
22+
23+
We are writing you as the product manager of Apple's
24+
EssentialsoToolsoObjects (E.T.O.) CD-ROM. As the authors of Perl for
25+
MPW, we hereby authorize Apple to distribute Perl for MPW including
26+
source code on E.T.O. according to the terms of the "Artistic" license
27+
distributed with Perl and enclosed with this letter. The Perl for MPW
28+
materials are hereby confirmed as being provided to Apple free of
29+
charge, for the purpose of being distributed on E.T.O. This
30+
authorization includes distribution of Perl for MPW on successive
31+
releases of E.T.O. and distribution of revisions to Perl for MPW that
32+
we provide you with or agree to.
33+
34+
Thank you for your efforts in promoting the use of Perl amongst
35+
Macintosh developers.
36+
37+
Sincerely,
38+
39+
40+
________________________ ________________________
41+
42+
Larry Wall Matthias Neeracher

Artistic

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ Definitions:
2121

2222
"Standard Version" refers to such a Package if it has not been
2323
modified, or has been modified in accordance with the wishes
24-
of the Copyright Holder.
24+
of the Copyright Holder as specified below.
2525

2626
"Copyright Holder" is whoever is named in the copyright or
2727
copyrights for the package.
@@ -78,30 +78,38 @@ executable form, provided that you do at least ONE of the following:
7878
b) accompany the distribution with the machine-readable source of
7979
the Package with your modifications.
8080

81-
c) accompany any non-standard executables with their corresponding
82-
Standard Version executables, giving the non-standard executables
83-
non-standard names, and clearly documenting the differences in manual
84-
pages (or equivalent), together with instructions on where to get
85-
the Standard Version.
81+
c) give non-standard executables non-standard names, and clearly
82+
document the differences in manual pages (or equivalent), together
83+
with instructions on where to get the Standard Version.
8684

8785
d) make other distribution arrangements with the Copyright Holder.
8886

8987
5. You may charge a reasonable copying fee for any distribution of this
90-
Package. You may charge any fee you choose for support of this Package.
91-
You may not charge a fee for this Package itself. However,
88+
Package. You may charge any fee you choose for support of this
89+
Package. You may not charge a fee for this Package itself. However,
9290
you may distribute this Package in aggregate with other (possibly
9391
commercial) programs as part of a larger (possibly commercial) software
9492
distribution provided that you do not advertise this Package as a
95-
product of your own.
93+
product of your own. You may embed this Package's interpreter within
94+
an executable of yours (by linking); this shall be construed as a mere
95+
form of aggregation, provided that the complete Standard Version of the
96+
interpreter is so embedded.
9697

9798
6. The scripts and library files supplied as input to or produced as
9899
output from the programs of this Package do not automatically fall
99100
under the copyright of this Package, but belong to whomever generated
100101
them, and may be sold commercially, and may be aggregated with this
102+
Package. If such scripts or library files are aggregated with this
103+
Package via the so-called "undump" or "unexec" methods of producing a
104+
binary executable image, then distribution of such an image shall
105+
neither be construed as a distribution of this Package nor shall it
106+
fall under the restrictions of Paragraphs 3 and 4, provided that you do
107+
not represent such an executable image as a Standard Version of this
101108
Package.
102109

103-
7. C subroutines supplied by you and linked into this Package in order
104-
to emulate subroutines and variables of the language defined by this
110+
7. C subroutines (or comparably compiled subroutines in other
111+
languages) supplied by you and linked into this Package in order to
112+
emulate subroutines and variables of the language defined by this
105113
Package shall not be considered part of this Package, but are the
106114
equivalent of input as in Paragraph 6, provided these subroutines do
107115
not change the language in any way that would cause it to fail the

B1

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
$ActualRevision = "M";
2+
3+
($junk, $ActualRevision) = '';
4+
5+
chop($ActualRevision);
6+
7+
($name, $ActualRevision, $junk) = split(/\s+/, $ActualRevision);

Bugs/assignglob

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
#!./perl
2+
3+
#!/usr/bin/perl
4+
$month = (split(' ',`date`))[1];
5+
6+
while (<DATA>) {
7+
next if 1 .. ?^$month\b?o;
8+
next unless /deposit/;
9+
($day) = /(\d+)/;
10+
local(*where) = m:([^/]+)$:;
11+
# with the local, you get bad free's. with it, you get a core dump
12+
$where{$day}++;
13+
}
14+
15+
@days = sort { $a <=> $b } keys %personal;
16+
17+
foreach $place ('tivoli', 'lists', 'personal') {
18+
*where = $place;
19+
foreach $day (@days) {
20+
printf "Aug %02d: %3d in %s\n", $day, $where{$day}, $place;
21+
}
22+
}
23+
24+
__END__
25+
Aug 27 10:40:20 New mail from hess
26+
Aug 27 10:40:20 deposit into /home/wraeththu/tchrist/Mail/in.coming/tivoli
27+
Aug 27 10:42:27 New mail from jcarson
28+
Aug 27 10:42:27 deposit into /home/wraeththu/tchrist/Mail/in.coming/tivoli
29+
Aug 27 10:48:18 New mail from dean
30+
Aug 27 10:48:18 deposit into /home/wraeththu/tchrist/Mail/in.coming/tivoli
31+
Aug 27 11:05:56 New mail from hess
32+
Aug 27 11:05:56 deposit into personal
33+
Aug 27 11:13:28 New mail from hess
34+
Aug 27 11:13:28 deposit into personal

Bugs/crash1

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
#!./perl
2+
# These filenames doesn't seem to matter, as long as the first one exists,
3+
# and we have permission to create the second one.
4+
open(OLD_FILE, "/etc/passwd");
5+
open(NEW_FILE, ">/tmp/foobar");
6+
7+
# This line is unnecessary to trigger death, but it helps to show where
8+
# we crash and burn.
9+
$| = 1;
10+
11+
# Seemingly, this loop is necessary to activate the bug. If I just say
12+
# $_ = <OLD_FILE>
13+
# instead of the loop, everything works as expected.
14+
while (<OLD_FILE>) {
15+
# This was originally just a random typing spaz on my part, but it causes
16+
# perl to crash later.
17+
print <NEW_FILE>;
18+
}
19+
20+
print "About to die...\n";
21+
print "dest = '$dest'\n";
22+
print "Didn't die!\n";
23+

Bugs/crash2

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
sleep(1) &sort

Bugs/minmax

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
#!./perl
2+
3+
sub minmax {
4+
eval '@_ = sort { $a '.shift().' $b } @_';
5+
(shift, pop(@_));
6+
}
7+
8+
($x, $y) = &minmax('<=>', 2, 4, 1, 0, 3);
9+
print "x = $x, y = $y\n";
10+
($x, $y) = &minmax('cmp', "foo", "bar", "zot", "xyzzy");
11+
print "x = $x, y = $y\n";
12+

Bugs/misparse

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
print STDERR "Can't open $mib_name: $!\n"
2+
&objviews'Exit;

Changes

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
2+
s'$lhs'$rhs' now does no interpolation on either side. It used to
3+
interplolate $lhs but not $rhs.
4+
5+
The second and third arguments of splice are now evaluated in scalar
6+
context (like the book says) rather than list context.
7+
8+
Saying shift @foo + 20 is now a semantic error.
9+
10+
The elements of argument lists for formats are now evaluated in list
11+
context.
12+
13+
You can't do a goto into a block that is optimized away.
14+
15+
It is no longer syntactically legal to use whitespace as the name
16+
of a variable.
17+
18+
Some error messages will be different.

0 commit comments

Comments
 (0)