summaryrefslogtreecommitdiff
path: root/form.c
diff options
context:
space:
mode:
authorLarry Wall <larry@wall.org>1988-06-05 00:00:00 +0000
committerLarry Wall <larry@wall.org>1988-06-05 00:00:00 +0000
commit378cc40b38293ffc7298c6a7ed3cd740ad79be52 (patch)
tree87bedf9adc5c88847a2e2d85963df5f94435aaf5 /form.c
parenta4de7c03d0bdc29d9d3a18abad4ac2628182ed7b (diff)
downloadperl-378cc40b38293ffc7298c6a7ed3cd740ad79be52.tar.gz
perl 2.0 (no announcement message available)perl-2.0
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.
Diffstat (limited to 'form.c')
-rw-r--r--form.c20
1 files changed, 9 insertions, 11 deletions
diff --git a/form.c b/form.c
index 8894621c9f..422d4a74b5 100644
--- a/form.c
+++ b/form.c
@@ -1,15 +1,12 @@
-/* $Header: form.c,v 1.0 87/12/18 13:05:07 root Exp $
+/* $Header: form.c,v 2.0 88/06/05 00:08:57 root Exp $
*
* $Log: form.c,v $
- * Revision 1.0 87/12/18 13:05:07 root
- * Initial revision
+ * Revision 2.0 88/06/05 00:08:57 root
+ * Baseline version 2.0.
*
*/
-#include "handy.h"
#include "EXTERN.h"
-#include "search.h"
-#include "util.h"
#include "perl.h"
/* Forms stuff */
@@ -57,7 +54,7 @@ register FCMD *fcmd;
orec->o_lines++;
break;
case F_LEFT:
- str = eval(fcmd->f_expr,Null(char***),(double*)0);
+ str = eval(fcmd->f_expr,Null(STR***),-1);
s = str_get(str);
size = fcmd->f_size;
CHKLEN(size);
@@ -101,7 +98,7 @@ register FCMD *fcmd;
}
break;
case F_RIGHT:
- t = s = str_get(eval(fcmd->f_expr,Null(char***),(double*)0));
+ t = s = str_get(eval(fcmd->f_expr,Null(STR***),-1));
size = fcmd->f_size;
CHKLEN(size);
chophere = Nullch;
@@ -150,7 +147,7 @@ register FCMD *fcmd;
case F_CENTER: {
int halfsize;
- t = s = str_get(eval(fcmd->f_expr,Null(char***),(double*)0));
+ t = s = str_get(eval(fcmd->f_expr,Null(STR***),-1));
size = fcmd->f_size;
CHKLEN(size);
chophere = Nullch;
@@ -207,7 +204,7 @@ register FCMD *fcmd;
break;
}
case F_LINES:
- str = eval(fcmd->f_expr,Null(char***),(double*)0);
+ str = eval(fcmd->f_expr,Null(STR***),-1);
s = str_get(str);
size = str_len(str);
CHKLEN(size);
@@ -240,7 +237,8 @@ register STIO *stio;
#ifdef DEBUGGING
if (debug & 256)
- fprintf(stderr,"left=%d, todo=%d\n",stio->lines_left, orec->o_lines);
+ fprintf(stderr,"left=%ld, todo=%ld\n",
+ (long)stio->lines_left, (long)orec->o_lines);
#endif
if (stio->lines_left < orec->o_lines) {
if (!stio->top_stab) {