#!./perl
-# $RCSfile: print.t,v $$Revision: 4.1 $$Date: 92/08/07 18:27:32 $
+BEGIN {
+ chdir 't' if -d 't';
+ @INC = '../lib';
+}
-print "1..16\n";
+use strict 'vars';
+eval 'use Errno';
+die $@ if $@ and !$ENV{PERL_CORE_MINITEST};
-$foo = 'STDOUT';
+print "1..21\n";
+
+my $foo = 'STDOUT';
print $foo "ok 1\n";
print "ok 2\n","ok 3\n","ok 4\n";
printf "ok %d\n",7;
printf("ok %d\n",8);
-@a = ("ok %d%c",9,ord("\n"));
+my @a = ("ok %d%c",9,ord("\n"));
printf @a;
$a[1] = 10;
print "ok","11";
-@x = ("ok","12\nok","13\nok");
-@y = ("15\nok","16");
+my @x = ("ok","12\nok","13\nok");
+my @y = ("15\nok","16");
print @x,"14\nok",@y;
+{
+ local $\ = "ok 17\n# null =>[\000]\nok 18\n";
+ print "";
+}
+
+$\ = '';
+
+if (!exists &Errno::EBADF) {
+ print "ok 19 # skipped: no EBADF\n";
+} else {
+ $! = 0;
+ no warnings 'unopened';
+ print NONEXISTENT "foo";
+ print "not " if ($! != &Errno::EBADF);
+ print "ok 19\n";
+}
+
+{
+ # Change 26009: pp_print didn't extend the stack
+ # before pushing its return value
+ # to make sure only that these obfuscated sentences will not crash.
+
+ map print(reverse), ('')x68;
+ print "ok 20\n";
+
+ map print(+()), ('')x68;
+ print "ok 21\n";
+}