This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
d29036b11d6d506cbc318e463e08c92bd78d013f
[perl5.git] / t / io / print.t
1 #!./perl
2
3 BEGIN {
4     chdir 't' if -d 't';
5     @INC = '../lib';
6 }
7
8 use strict 'vars';
9 eval 'use Errno';
10 die $@ if $@ and !$ENV{PERL_CORE_MINITEST};
11
12 print "1..21\n";
13
14 my $foo = 'STDOUT';
15 print $foo "ok 1\n";
16
17 print "ok 2\n","ok 3\n","ok 4\n";
18 print STDOUT "ok 5\n";
19
20 open(foo,">-");
21 print foo "ok 6\n";
22
23 printf "ok %d\n",7;
24 printf("ok %d\n",8);
25
26 my @a = ("ok %d%c",9,ord("\n"));
27 printf @a;
28
29 $a[1] = 10;
30 printf STDOUT @a;
31
32 $, = ' ';
33 $\ = "\n";
34
35 print "ok","11";
36
37 my @x = ("ok","12\nok","13\nok");
38 my @y = ("15\nok","16");
39 print @x,"14\nok",@y;
40 {
41     local $\ = "ok 17\n# null =>[\000]\nok 18\n";
42     print "";
43 }
44
45 $\ = '';
46
47 if (!exists &Errno::EBADF) {
48     print "ok 19 # skipped: no EBADF\n";
49 } else {
50     $! = 0;
51     no warnings 'unopened';
52     print NONEXISTENT "foo";
53     print "not " if ($! != &Errno::EBADF);
54     print "ok 19\n";
55 }
56
57 {
58     # Change 26009: pp_print didn't extend the stack
59     #               before pushing its return value
60     # to make sure only that these obfuscated sentences will not crash.
61
62     map print(reverse), ('')x68;
63     print "ok 20\n";
64
65     map print(+()), ('')x68;
66     print "ok 21\n";
67 }