Cross Reference: io_dup.t
xref
: /
osnet-11
/
usr
/
src
/
cmd
/
perl
/
5.8.4
/
distrib
/
ext
/
IO
/
t
/
io_dup.t
Home
History
Annotate
Line#
Navigate
Download
Search
only in
./
io_dup.t revision 1
1
N/A
#!./perl
1
N/A
1
N/A
BEGIN
{
1
N/A
unless
(
grep
/
blib
/, @
INC
)
{
1
N/A
chdir
't'
if
-d
't'
;
1
N/A
@
INC
=
'../lib'
;
1
N/A
}
1
N/A
}
1
N/A
1
N/A
use
Config
;
1
N/A
1
N/A
BEGIN
{
1
N/A
if
(
$ENV
{
PERL_CORE
})
{
1
N/A
if
(
$Config
{
'extensions'
} !~ /\
bIO
\b/)
{
1
N/A
print
"1..0 # Skip: IO extension not compiled\n"
;
1
N/A
exit
0
;
1
N/A
}
1
N/A
}
1
N/A
}
1
N/A
1
N/A
use
IO
::
Handle
;
1
N/A
use
IO
::
File
;
1
N/A
1
N/A
select
(
STDERR
)
; $| =
1
;
1
N/A
select
(
STDOUT
)
; $| =
1
;
1
N/A
1
N/A
print
"1..6\n"
;
1
N/A
1
N/A
print
"ok 1\n"
;
1
N/A
1
N/A
$dupout
=
IO
::
Handle
->
new
->
fdopen
( \*
STDOUT
,
"w"
)
;
1
N/A
$duperr
=
IO
::
Handle
->
new
->
fdopen
( \*
STDERR
,
"w"
)
;
1
N/A
1
N/A
$stdout
= \*
STDOUT
;
bless
$stdout
,
"IO::File"
;
# "IO::Handle";
1
N/A
$stderr
= \*
STDERR
;
bless
$stderr
,
"IO::Handle"
;
1
N/A
1
N/A
$stdout
->
open
(
"
Io.dup
"
,
"w"
)
||
die
"Can't open stdout"
;
1
N/A
$stderr
->
fdopen
(
$stdout
,
"w"
)
;
1
N/A
1
N/A
print
$stdout
"ok 2\n"
;
1
N/A
print
$stderr
"ok 3\n"
;
1
N/A
1
N/A
# Since some systems don't have echo, we use Perl.
1
N/A
$echo
=
qq
{$^X -
le
"print q(ok %d)"
};
1
N/A
1
N/A
$cmd
=
sprintf
$echo
,
4
;
1
N/A
print
`
$cmd
`
;
1
N/A
1
N/A
$cmd
=
sprintf
"
$echo
1>&2"
,
5
;
1
N/A
$cmd
=
sprintf
$echo
,
5
if
$^O
eq
'MacOS'
;
1
N/A
print
`
$cmd
`
;
1
N/A
1
N/A
$stderr
->
close
;
1
N/A
$stdout
->
close
;
1
N/A
1
N/A
$stdout
->
fdopen
(
$dupout
,
"w"
)
;
1
N/A
$stderr
->
fdopen
(
$duperr
,
"w"
)
;
1
N/A
1
N/A
if
($^O
eq
'MSWin32'
|| $^O
eq
'NetWare'
|| $^O
eq
'VMS'
)
{
print
`
type
Io.dup
`
}
1
N/A
elsif
($^O
eq
'MacOS'
)
{
system
'Catenate
Io.dup
'
}
1
N/A
else
{
system
'cat
Io.dup
'
}
1
N/A
unlink
'
Io.dup
'
;
1
N/A
1
N/A
print
STDOUT
"ok 6\n"
;