Permalink
Browse files

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.]
  • Loading branch information...
1 parent e334a15 commit 79072805bf63abe5b5978b5928ab00d360ea3e7f Larry Wall committed Oct 7, 1993
Showing 431 changed files with 61,554 additions and 38,201 deletions.
View
@@ -0,0 +1,16 @@
+: basic variables
+package=perl
+baserev=4.1
+patchbranch=1
+mydiff='diff -c'
+maintname='Larry Wall'
+maintloc='lwall@netlabs.com'
+ftpsite=''
+orgname='NetLabs, Inc.'
+newsgroups='comp.lang.perl'
+recipients=''
+ftpdir=''
+
+: derivative variables--do not change
+revbranch="$baserev.$patchbranch"
+packver='1'
View
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+ Larry Wall
+ Matthias Neeracher
+ c/o 4920 El Camino Real
+ Los Altos, CA 94022
+
+ March 26, 1993
+
+
+ Gary Little
+ M/S 37-X
+ Apple Computer, Inc.
+ 20525 Mariani Ave.
+ Cupertino, CA 95014
+
+ Dear Gary,
+
+ We are writing you as the product manager of Apple's
+ EssentialsoToolsoObjects (E.T.O.) CD-ROM. As the authors of Perl for
+ MPW, we hereby authorize Apple to distribute Perl for MPW including
+ source code on E.T.O. according to the terms of the "Artistic" license
+ distributed with Perl and enclosed with this letter. The Perl for MPW
+ materials are hereby confirmed as being provided to Apple free of
+ charge, for the purpose of being distributed on E.T.O. This
+ authorization includes distribution of Perl for MPW on successive
+ releases of E.T.O. and distribution of revisions to Perl for MPW that
+ we provide you with or agree to.
+
+ Thank you for your efforts in promoting the use of Perl amongst
+ Macintosh developers.
+
+ Sincerely,
+
+
+ ________________________ ________________________
+
+ Larry Wall Matthias Neeracher
View
@@ -21,7 +21,7 @@ Definitions:
"Standard Version" refers to such a Package if it has not been
modified, or has been modified in accordance with the wishes
- of the Copyright Holder.
+ of the Copyright Holder as specified below.
"Copyright Holder" is whoever is named in the copyright or
copyrights for the package.
@@ -78,30 +78,38 @@ executable form, provided that you do at least ONE of the following:
b) accompany the distribution with the machine-readable source of
the Package with your modifications.
- c) accompany any non-standard executables with their corresponding
- Standard Version executables, giving the non-standard executables
- non-standard names, and clearly documenting the differences in manual
- pages (or equivalent), together with instructions on where to get
- the Standard Version.
+ c) give non-standard executables non-standard names, and clearly
+ document the differences in manual pages (or equivalent), together
+ with instructions on where to get the Standard Version.
d) make other distribution arrangements with the Copyright Holder.
5. You may charge a reasonable copying fee for any distribution of this
-Package. You may charge any fee you choose for support of this Package.
-You may not charge a fee for this Package itself. However,
+Package. You may charge any fee you choose for support of this
+Package. You may not charge a fee for this Package itself. However,
you may distribute this Package in aggregate with other (possibly
commercial) programs as part of a larger (possibly commercial) software
distribution provided that you do not advertise this Package as a
-product of your own.
+product of your own. You may embed this Package's interpreter within
+an executable of yours (by linking); this shall be construed as a mere
+form of aggregation, provided that the complete Standard Version of the
+interpreter is so embedded.
6. The scripts and library files supplied as input to or produced as
output from the programs of this Package do not automatically fall
under the copyright of this Package, but belong to whomever generated
them, and may be sold commercially, and may be aggregated with this
+Package. If such scripts or library files are aggregated with this
+Package via the so-called "undump" or "unexec" methods of producing a
+binary executable image, then distribution of such an image shall
+neither be construed as a distribution of this Package nor shall it
+fall under the restrictions of Paragraphs 3 and 4, provided that you do
+not represent such an executable image as a Standard Version of this
Package.
-7. C subroutines supplied by you and linked into this Package in order
-to emulate subroutines and variables of the language defined by this
+7. C subroutines (or comparably compiled subroutines in other
+languages) supplied by you and linked into this Package in order to
+emulate subroutines and variables of the language defined by this
Package shall not be considered part of this Package, but are the
equivalent of input as in Paragraph 6, provided these subroutines do
not change the language in any way that would cause it to fail the
View
7 B1
@@ -0,0 +1,7 @@
+$ActualRevision = "M";
+
+($junk, $ActualRevision) = '';
+
+chop($ActualRevision);
+
+($name, $ActualRevision, $junk) = split(/\s+/, $ActualRevision);
View
@@ -0,0 +1,34 @@
+#!./perl
+
+#!/usr/bin/perl
+$month = (split(' ',`date`))[1];
+
+while (<DATA>) {
+ next if 1 .. ?^$month\b?o;
+ next unless /deposit/;
+ ($day) = /(\d+)/;
+ local(*where) = m:([^/]+)$:;
+ # with the local, you get bad free's. with it, you get a core dump
+ $where{$day}++;
+}
+
+@days = sort { $a <=> $b } keys %personal;
+
+foreach $place ('tivoli', 'lists', 'personal') {
+ *where = $place;
+ foreach $day (@days) {
+ printf "Aug %02d: %3d in %s\n", $day, $where{$day}, $place;
+ }
+}
+
+__END__
+Aug 27 10:40:20 New mail from hess
+Aug 27 10:40:20 deposit into /home/wraeththu/tchrist/Mail/in.coming/tivoli
+Aug 27 10:42:27 New mail from jcarson
+Aug 27 10:42:27 deposit into /home/wraeththu/tchrist/Mail/in.coming/tivoli
+Aug 27 10:48:18 New mail from dean
+Aug 27 10:48:18 deposit into /home/wraeththu/tchrist/Mail/in.coming/tivoli
+Aug 27 11:05:56 New mail from hess
+Aug 27 11:05:56 deposit into personal
+Aug 27 11:13:28 New mail from hess
+Aug 27 11:13:28 deposit into personal
View
@@ -0,0 +1,23 @@
+#!./perl
+# These filenames doesn't seem to matter, as long as the first one exists,
+# and we have permission to create the second one.
+open(OLD_FILE, "/etc/passwd");
+open(NEW_FILE, ">/tmp/foobar");
+
+# This line is unnecessary to trigger death, but it helps to show where
+# we crash and burn.
+$| = 1;
+
+# Seemingly, this loop is necessary to activate the bug. If I just say
+# $_ = <OLD_FILE>
+# instead of the loop, everything works as expected.
+while (<OLD_FILE>) {
+ # This was originally just a random typing spaz on my part, but it causes
+ # perl to crash later.
+ print <NEW_FILE>;
+}
+
+print "About to die...\n";
+print "dest = '$dest'\n";
+print "Didn't die!\n";
+
View
@@ -0,0 +1 @@
+sleep(1) &sort
View
@@ -0,0 +1,12 @@
+#!./perl
+
+sub minmax {
+ eval '@_ = sort { $a '.shift().' $b } @_';
+ (shift, pop(@_));
+}
+
+($x, $y) = &minmax('<=>', 2, 4, 1, 0, 3);
+print "x = $x, y = $y\n";
+($x, $y) = &minmax('cmp', "foo", "bar", "zot", "xyzzy");
+print "x = $x, y = $y\n";
+
View
@@ -0,0 +1,2 @@
+print STDERR "Can't open $mib_name: $!\n"
+&objviews'Exit;
View
18 Changes
@@ -0,0 +1,18 @@
+
+ s'$lhs'$rhs' now does no interpolation on either side. It used to
+ interplolate $lhs but not $rhs.
+
+ The second and third arguments of splice are now evaluated in scalar
+ context (like the book says) rather than list context.
+
+ Saying shift @foo + 20 is now a semantic error.
+
+ The elements of argument lists for formats are now evaluated in list
+ context.
+
+ You can't do a goto into a block that is optimized away.
+
+ It is no longer syntactically legal to use whitespace as the name
+ of a variable.
+
+ Some error messages will be different.
Oops, something went wrong.

0 comments on commit 7907280

Please sign in to comment.