summaryrefslogtreecommitdiff
path: root/util.c
Commit message (Collapse)AuthorAgeFilesLines
* perl 5.0 alpha 5Larry Wall1993-12-101-0/+18
| | | | | | [editor's note: the sparc executables have not been included, and emacs backup files and other cruft such as patch backup files have been removed. This was reconstructed from a tarball found on the September 1994 InfoMagic CD]
* perl 5.0 alpha 4Larry Wall1993-11-101-38/+45
| | | | | | | [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]
* perl 5.0 alpha 3Larry Wall1993-10-101-5/+5
| | | | | [editor's note: the sparc executables have not been included, and emacs backup files have been removed]
* perl 5.0 alpha 2perl-5a2Larry Wall1993-10-071-441/+238
| | | | [editor's note: from history.perl.org. The sparc executables originally included in the distribution are not in this commit.]
* perl 4.0 patch 34: (combined patch)Larry Wall1992-06-111-2/+5
| | | | | | Here's the typical cleanup patch that follows any large set of patches. My testing organization is either too large or too small, depending on how you look at it, sigh...
* perl 4.0 patch 32: patch #20, continuedLarry Wall1992-06-081-41/+88
| | | | See patch #20.
* perl 4.0 patch 19: (combined patch)Larry Wall1991-11-111-24/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ok, here's the cleanup patch I suggested you wait for. Have at it... Subject: added little-endian pack/unpack options This is the only enhancement in this patch, but it seemed unlikely to bust anything else, and added functionality that it was very difficult to do any other way. Compliments of David W. Sanderson. Subject: op/regexp.t failed from missing arg to bcmp() Subject: study was busted by 4.018 Subject: sort $subname was busted by changes in 4.018 Subject: default arg for shift was wrong after first subroutine definition Things that broke in 4.018. Shame on me. Subject: do {$foo ne "bar";} returned wrong value A bug of long standing. How come nobody saw this one? Or if you did, why didn't you report it before now? Or if you did, why did I ignore you? :-) Subject: some machines need -lsocket before -lnsl Subject: some earlier patches weren't propagated to alternate 286 code Subject: compile in the x2p directory couldn't find cppstdin Subject: more hints for aix, isc, hp, sco, uts Subject: installperl no longer updates unchanged library files Subject: uts wrongly defines S_ISDIR() et al Subject: too many preprocessors can't expand a macro right in #if The usual pastiche of portability kludges. Subject: deleted some unused functions from usersub.c And fixed the spelling of John Macdonald's name, and included his suggested workaround for a certain vendor's stdio bug... Subject: added readdir test Subject: made op/groups.t more reliable Subject: added test for sort $subname to op/sort.t Subject: added some hacks to op/stat.t for weird filesystem architectures Improvements (hopefully) to the regression tests.
* perl 4.0 patch 17: patch #11, continuedLarry Wall1991-11-051-25/+155
| | | | See patch #11.
* perl 4.0 patch 9: patch #4, continuedLarry Wall1991-06-061-12/+30
| | | | See patch #4.
* perl 4.0 patch 2: Patch 1 continuedLarry Wall1991-04-111-8/+10
|
* perl 4.0.00: (no release announcement available)perl-4.0.00Larry Wall1991-03-211-88/+93
| | | | So far, 4.0 is still a beta test version. For the last production version, look in pub/perl.3.0/kits@44.
* perl 3.0 patch #44 patch #42, continuedperl-3.044Larry Wall1991-01-111-4/+8
| | | | See patch #42.
* perl 3.0 patch #40 patch #38, continuedLarry Wall1990-11-091-5/+22
| | | | See patch #38.
* perl 3.0 patch #37 (combined patch)Larry Wall1990-10-191-6/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | I tried to take the strlen of an integer on systems without wait4() or waitpid(). For some reason this didn't work too well... In hash.c there was a call to dbm_nextkey() which needed to be ifdefed on old dbm systems. A pattern such as /foo.*bar$/ was wrongly optimized to do tail matching on "foo". This was a longstanding bug that was unmasked by patch 36. Some systems have some SYS V IPC but not all of it. Configure now figures this out. Patch 36 put the user's PATH in front of Configures, but to make it work right I needed to change all calls of loc to ./loc in Configure. $cryptlib needed to be mentioned in the Makefile. Apollo 10.3 and Sun 3.5 have some compilation problems, so I mentioned them in README. Cray has weird restrictions on setjmp locations--you can't say if (result = setjmp(...)) Random typos and cleanup.
* perl 3.0 patch #36 patch #29, continuedLarry Wall1990-10-151-38/+81
| | | | See patch #29.
* perl 3.0 patch #28 (combined patch)Larry Wall1990-08-131-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Certain systems, notable Ultrix, set the close-on-exec flag by default on dup'ed file descriptors. This is anti-social when you're creating a new STDOUT. The flag is now forced off for STDIN, STDOUT and STDERR. Some yaccs report 29 shift/reduce conflicts and 59 reduce/reduce conflicts, while other yaccs and bison report 27 and 61. The Makefile now says to expect either thing. I'm not sure if there's a bug lurking there somewhere. The defined(@array) and defined(%array) ended up defining the arrays they were trying to determine the status of. Oops. Using the status of NSIG to determine whether <signal.h> had been included didn't work right on Xenix. A fix seems to be beyond Configure at the moment, so we've got some OS dependent #ifdefs in there. There were some syntax errors in the new code to determine whether it is safe to emulate rename() with unlink/link/unlink. Obviously heavily tested code... :-) Patch 27 introduced the possibility of using identifiers as unquoted strings, but the code to warn against the use of totally lowercase identifiers looped infinitely. I documented that you can't interpolate $) or $| in pattern. It was actually implied under s///, but it should have been more explicit. Patterns with {m} rather than {m,n} didn't work right. Tests io.fs and op.stat had difficulties under AFS. They now ignore the tests in question if they think they're running under /afs. The shift/reduce expectation message was off for a2p's Makefile.
* perl 3.0 patch #27 patch #19, continuedLarry Wall1990-08-081-14/+121
| | | | See patch #19.
* perl 3.0 patch #18 patch #16, continuedLarry Wall1990-03-271-1/+26
| | | | See patch #16.
* perl 3.0 patch #12 patch #9, continuedLarry Wall1990-02-281-4/+80
| | | | See patch #9.
* perl 3.0 patch #8 patch 7 continuedLarry Wall1989-12-211-4/+4
| | | | See patch 7.
* perl 3.0 patch #6 patch 5 continuedLarry Wall1989-11-171-14/+20
| | | | See patch 5.
* perl 3.0 patch #4 Patch #2 continuedLarry Wall1989-11-101-2/+37
|
* perl 3.0: (no announcement message available)perl-3.000Larry Wall1989-10-181-189/+806
| | | | | | | | | | | | | | A few of the new features: (18 Oct) * Perl can now handle binary data correctly and has functions to pack and unpack binary structures into arrays or lists. You can now do arbitrary ioctl functions. * You can now pass things to subroutines by reference. * Debugger enhancements. * An array or associative array may now appear in a local() list. * Array values may now be interpolated into strings. * Subroutine names are now distinguished by prefixing with &. You can call subroutines without using do, and without passing any argument list at all. * You can use the new -u switch to cause perl to dump core so that you can run undump and produce a binary executable image. Alternately you can use the "dump" operator after initializing any variables and such. * You can now chop lists. * Perl now uses /bin/csh to do filename globbing, if available. This means that filenames with spaces or other strangenesses work right. * New functions: mkdir and rmdir, getppid, getpgrp and setpgrp, getpriority and setpriority, chroot, ioctl and fcntl, flock, readlink, lstat, rindex, pack and unpack, read, warn, dbmopen and dbmclose, dump, reverse, defined, undef.
* perl 2.0 (no announcement message available)perl-2.0Larry Wall1988-06-051-27/+335
| | | | | | | | | | | | | | | | | | | | | | | | Some of the enhancements from Perl1 included: * New regexp routines derived from Henry Spencer's. o Support for /(foo|bar)/. o Support for /(foo)*/ and /(foo)+/. o \s for whitespace, \S for non-, \d for digit, \D nondigit * Local variables in blocks, subroutines and evals. * Recursive subroutine calls are now supported. * Array values may now be interpolated into lists: unlink 'foo', 'bar', @trashcan, 'tmp'; * File globbing. * Use of <> in array contexts returns the whole file or glob list. * New iterator for normal arrays, foreach, that allows both read and write. * Ability to open pipe to a forked off script for secure pipes in setuid scripts. * File inclusion via do 'foo.pl'; * More file tests, including -t to see if, for instance, stdin is a terminal. File tests now behave in a more correct manner. You can do file tests on filehandles as well as filenames. The special filetests -T and -B test a file to see if it's text or binary. * An eof can now be used on each file of the <> input for such purposes as resetting the line numbers or appending to each file of an inplace edit. * Assignments can now function as lvalues, so you can say things like ($HOST = $host) =~ tr/a-z/A-Z/; ($obj = $src) =~ s/\.c$/.o/; * You can now do certain file operations with a variable which holds the name of a filehandle, e.g. open(++$incl,$includefilename); $foo = <$incl>; * Warnings are now available (with -w) on use of uninitialized variables and on identifiers that are mentioned only once, and on reference to various undefined things. * There is now a wait operator. * There is now a sort operator. * The manual is now not lying when it says that perl is generally faster than sed. I hope.
* perl 1.0 patch 8: perl needed an eval operator and a symbolic debuggerLarry Wall1988-01-271-1/+9
| | | | | | | | | | | I didn't add an eval operator to the original perl because I hadn't thought of any good uses for it. Recently I thought of some. Along with creating the eval operator, this patch introduces a symbolic debugger for perl scripts, which makes use of eval to interpret some debugging commands. Having eval also lets me emulate awk's FOO=bar command line behavior with a line such as the one a2p now inserts at the beginning of translated scripts.
* a "replacement" for awk and sedperl-1.0Larry Wall1987-12-181-0/+263
[ Perl is kind of designed to make awk and sed semi-obsolete. This posting will include the first 10 patches after the main source. The following description is lifted from Larry's manpage. --r$ ] Perl is a interpreted language optimized for scanning arbitrary text files, extracting information from those text files, and printing reports based on that information. It's also a good language for many system management tasks. The language is intended to be practical (easy to use, efficient, complete) rather than beautiful (tiny, elegant, minimal). It combines (in the author's opinion, anyway) some of the best features of C, sed, awk, and sh, so people familiar with those languages should have little difficulty with it. (Language historians will also note some vestiges of csh, Pascal, and even BASIC-PLUS.) Expression syntax corresponds quite closely to C expression syntax. If you have a problem that would ordinarily use sed or awk or sh, but it exceeds their capabilities or must run a little faster, and you don't want to write the silly thing in C, then perl may be for you. There are also translators to turn your sed and awk scripts into perl scripts.