| 1 | #!./perl |
| 2 | |
| 3 | $^I = $^O eq 'VMS' ? '_bak' : '.bak'; |
| 4 | |
| 5 | print "1..2\n"; |
| 6 | |
| 7 | @ARGV = ('.a','.b','.c'); |
| 8 | if ($^O eq 'MSWin32') { |
| 9 | $CAT = '.\perl -e "print<>"'; |
| 10 | `.\\perl -le "print 'foo'" > .a`; |
| 11 | `.\\perl -le "print 'foo'" > .b`; |
| 12 | `.\\perl -le "print 'foo'" > .c`; |
| 13 | } |
| 14 | elsif ($^O eq 'NetWare') { |
| 15 | $CAT = 'perl -e "print<>"'; |
| 16 | `perl -le "print 'foo'" > .a`; |
| 17 | `perl -le "print 'foo'" > .b`; |
| 18 | `perl -le "print 'foo'" > .c`; |
| 19 | } |
| 20 | elsif ($^O eq 'MacOS') { |
| 21 | $CAT = "$^X -e \"print<>\""; |
| 22 | `$^X -le "print 'foo'" > .a`; |
| 23 | `$^X -le "print 'foo'" > .b`; |
| 24 | `$^X -le "print 'foo'" > .c`; |
| 25 | } |
| 26 | elsif ($^O eq 'VMS') { |
| 27 | $CAT = 'MCR []perl. -e "print<>"'; |
| 28 | `MCR []perl. -le "print 'foo'" > ./.a`; |
| 29 | `MCR []perl. -le "print 'foo'" > ./.b`; |
| 30 | `MCR []perl. -le "print 'foo'" > ./.c`; |
| 31 | } |
| 32 | else { |
| 33 | $CAT = 'cat'; |
| 34 | `echo foo | tee .a .b .c`; |
| 35 | } |
| 36 | while (<>) { |
| 37 | s/foo/bar/; |
| 38 | } |
| 39 | continue { |
| 40 | print; |
| 41 | } |
| 42 | |
| 43 | if (`$CAT .a .b .c` eq "bar\nbar\nbar\n") {print "ok 1\n";} else {print "not ok 1\n";} |
| 44 | if (`$CAT .a$^I .b$^I .c$^I` eq "foo\nfoo\nfoo\n") {print "ok 2\n";} else {print "not ok 2\n";} |
| 45 | |
| 46 | unlink '.a', '.b', '.c', ".a$^I", ".b$^I", ".c$^I"; |