Cross Reference: switcht.t
xref
: /
osnet-11
/
usr
/
src
/
cmd
/
perl
/
5.8.4
/
distrib
/
t
/
run
/
switcht.t
Home
History
Annotate
Line#
Navigate
Download
Search
only in
./
switcht.t revision 1
1
N/A
#!./perl -t
1
N/A
1
N/A
BEGIN
{
1
N/A
chdir
't'
;
1
N/A
@
INC
=
'../lib'
;
1
N/A
require
'./
test.pl
'
;
1
N/A
}
1
N/A
1
N/A
plan
tests
=>
11
;
1
N/A
1
N/A
my
$Perl
=
which_perl
()
;
1
N/A
1
N/A
my
$warning
;
1
N/A
local
$SIG
{
__WARN__
} =
sub
{
$warning
=
join
"\n"
, @_; }
;
1
N/A
my
$Tmsg
=
'while running with -t switch'
;
1
N/A
1
N/A
is
( ${^
TAINT
}, -
1
,
'${^TAINT} == -1'
)
;
1
N/A
1
N/A
my
$out
=
`
$Perl
-
le
"print q(Hello)"
`
;
1
N/A
is
(
$out
,
"Hello\n"
,
'`` worked'
)
;
1
N/A
like
(
$warning
,
qr
/^
Insecure
.*
$Tmsg
/,
' taint warn'
)
;
1
N/A
1
N/A
{
1
N/A
no
warnings
'taint'
;
1
N/A
$warning
=
''
;
1
N/A
my
$out
=
`
$Perl
-
le
"print q(Hello)"
`
;
1
N/A
is
(
$out
,
"Hello\n"
,
'`` worked'
)
;
1
N/A
is
(
$warning
,
''
,
' no warnings "taint"'
)
;
1
N/A
}
1
N/A
1
N/A
# Get ourselves a tainted variable.
1
N/A
$file
= $
0
;
1
N/A
$file
=~ s/.*/
some.tmp
/;
1
N/A
ok
(
open
(
FILE
,
">
$file
"
)
,
'open >'
)
or
DIE
$!;
1
N/A
print
FILE
"Stuff\n"
;
1
N/A
close
FILE
;
1
N/A
like
(
$warning
,
qr
/^
Insecure
dependency
in
open
$Tmsg
/,
'open > taint warn'
)
;
1
N/A
ok
( -e
$file
,
' file written'
)
;
1
N/A
1
N/A
unlink
(
$file
)
;
1
N/A
like
(
$warning
,
qr
/^
Insecure
dependency
in
unlink
$Tmsg
/,
1
N/A
'unlink() taint warn'
)
;
1
N/A
ok
( !-e
$file
,
'unlink worked'
)
;
1
N/A
1
N/A
ok
( !$^W,
"-t doesn't enable regular warnings"
)
;