From 378cc40b38293ffc7298c6a7ed3cd740ad79be52 Mon Sep 17 00:00:00 2001 From: Larry Wall Date: Sun, 5 Jun 1988 00:00:00 +0000 Subject: perl 2.0 (no announcement message available) 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. --- t/cmd.for | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) (limited to 't/cmd.for') diff --git a/t/cmd.for b/t/cmd.for index 769bec28bb..6342c89586 100644 --- a/t/cmd.for +++ b/t/cmd.for @@ -1,8 +1,8 @@ #!./perl -# $Header: cmd.for,v 1.0 87/12/18 13:12:05 root Exp $ +# $Header: cmd.for,v 2.0 88/06/05 00:12:19 root Exp $ -print "1..2\n"; +print "1..7\n"; for ($i = 0; $i <= 10; $i++) { $x[$i] = $i; @@ -23,3 +23,27 @@ for (;;) { last if $i++ > 10; } if ($c == 12) {print "ok 2\n";} else {print "not ok 2\n";} + +$foo = 3210; +@ary = (1,2,3,4,5); +foreach $foo (@ary) { + $foo *= 2; +} +if (join('',@ary) eq '246810') {print "ok 3\n";} else {print "not ok 3\n";} + +for (@ary) { + s/(.*)/ok $1\n/; +} + +print $ary[1]; + +# test for internal scratch array generation +# this also tests that $foo was restored to 3210 after test 3 +for (split(' ','a b c d e')) { + $foo .= $_; +} +if ($foo eq '3210abcde') {print "ok 5\n";} else {print "not ok 5\n";} + +foreach $foo (("ok 6\n","ok 7\n")) { + print $foo; +} -- cgit v1.2.1