#!./perl print "1..46\n"; $x = 'x'; print "#1 :$x: eq :x:\n"; if ($x eq 'x') {print "ok 1\n";} else {print "not ok 1\n";} $x = $#; # this is the register $# if ($x eq '') {print "ok 2\n";} else {print "not ok 2\n";} $x = $#x; if ($x eq '-1') {print "ok 3\n";} else {print "not ok 3\n";} $x = '\\'; # '; if (length($x) == 1) {print "ok 4\n";} else {print "not ok 4\n";} eval 'while (0) { print "foo\n"; } /^/ && (print "ok 5\n"); '; eval '$foo{1} / 1;'; if (!$@) {print "ok 6\n";} else {print "not ok 6 $@\n";} eval '$foo = 123+123.4+123e4+123.4E5+123.4e+5+.12;'; $foo = int($foo * 100 + .5); if ($foo eq 2591024652) {print "ok 7\n";} else {print "not ok 7 :$foo:\n";} print <<'EOF'; ok 8 EOF $foo = 'ok 9'; print <; print <<; # Yow! ok 18 # previous line intentionally left blank. print < -1; print "ok 37\n"; # print "($@)\n" if $@; eval 'my $ {^XYZ};'; print "not " unless index ($@, 'Can\'t use global $^XYZ in "my"') > -1; print "ok 38\n"; # print "($@)\n" if $@; # Now let's make sure that caret variables are all forced into the main package. package Someother; $^N = 'Someother'; $ {^Nostril} = 'Someother 2'; $ {^M} = 'Someother 3'; package main; print "not " unless $^N eq 'Someother'; print "ok 39\n"; print "not " unless $ {^Nostril} eq 'Someother 2'; print "ok 40\n"; print "not " unless $ {^M} eq 'Someother 3'; print "ok 41\n"; } # see if eval '', s///e, and heredocs mix sub T { my ($where, $num) = @_; my ($p,$f,$l) = caller; print "# $p:$f:$l vs /$where/\nnot " unless "$p:$f:$l" =~ /$where/; print "ok $num\n"; } my $test = 42; { # line 42 "plink" local $_ = "not ok "; eval q{ s/^not /<