📄 sv
字号:
sv.c warn(warn_uninit); warn(warn_uninit); warn(warn_uninit); warn(warn_uninit); not_a_number(sv); not_a_number(sv); warn(warn_uninit); not_a_number(sv); warn(warn_uninit); not_a_number(sv); not_a_number(sv); warn(warn_uninit); warn(warn_uninit); Subroutine %s redefined Invalid conversion in %s: Undefined value assigned to typeglob Possible Y2K bug: %d format string following '19' Reference is already weak [Perl_sv_rvweaken] <<TODO Mandatory Warnings ------------------ Malformed UTF-8 character [sv_pos_b2u] (not tested: difficult to produce with perl now) Mandatory Warnings TODO ------------------ Attempt to free non-arena SV: 0x%lx [del_sv] Reference miscount in sv_replace() [sv_replace] Attempt to free unreferenced scalar [sv_free] Attempt to free temp prematurely: SV 0x%lx [sv_free] semi-panic: attempt to dup freed string [newSVsv] __END__# sv.cuse integer ;use warnings 'uninitialized' ;$x = 1 + $a[0] ; # ano warnings 'uninitialized' ;$x = 1 + $b[0] ; # aEXPECTUse of uninitialized value in integer addition (+) at - line 4.######### sv.c (sv_2iv)package fred ;sub TIESCALAR { my $x ; bless \$x}sub FETCH { return undef }sub STORE { return 1 }package main ;tie $A, 'fred' ;use integer ;use warnings 'uninitialized' ;$A *= 2 ;no warnings 'uninitialized' ;$A *= 2 ;EXPECTUse of uninitialized value in integer multiplication (*) at - line 10.######### sv.cuse integer ;use warnings 'uninitialized' ;my $x *= 2 ; #b no warnings 'uninitialized' ;my $y *= 2 ; #b EXPECTUse of uninitialized value in integer multiplication (*) at - line 4.######### sv.c (sv_2uv)package fred ;sub TIESCALAR { my $x ; bless \$x}sub FETCH { return undef }sub STORE { return 1 }package main ;tie $A, 'fred' ;use warnings 'uninitialized' ;$B = 0 ;$B |= $A ;no warnings 'uninitialized' ;$B = 0 ;$B |= $A ;EXPECTUse of uninitialized value in bitwise or (|) at - line 10.######### sv.cuse warnings 'uninitialized' ;my $Y = 1 ; my $x = 1 | $a[$Y] ;no warnings 'uninitialized' ;my $Y = 1 ; $x = 1 | $b[$Y] ;EXPECTUse of uninitialized value in bitwise or (|) at - line 4.######### sv.cuse warnings 'uninitialized' ;my $x *= 1 ; # dno warnings 'uninitialized' ;my $y *= 1 ; # dEXPECTUse of uninitialized value in multiplication (*) at - line 3.######### sv.cuse warnings 'uninitialized' ;$x = 1 + $a[0] ; # eno warnings 'uninitialized' ;$x = 1 + $b[0] ; # eEXPECTUse of uninitialized value in addition (+) at - line 3.######### sv.c (sv_2nv)package fred ;sub TIESCALAR { my $x ; bless \$x}sub FETCH { return undef }sub STORE { return 1 }package main ;tie $A, 'fred' ;use warnings 'uninitialized' ;$A *= 2 ;no warnings 'uninitialized' ;$A *= 2 ;EXPECTUse of uninitialized value in multiplication (*) at - line 9.######### sv.cuse warnings 'uninitialized' ;$x = $y + 1 ; # fno warnings 'uninitialized' ;$x = $z + 1 ; # fEXPECTUse of uninitialized value in addition (+) at - line 3.######### sv.cuse warnings 'uninitialized' ;$x = chop undef ; # gno warnings 'uninitialized' ;$x = chop undef ; # gEXPECTModification of a read-only value attempted at - line 3.######### sv.cuse warnings 'uninitialized' ;$x = chop $y ; # hno warnings 'uninitialized' ;$x = chop $z ; # hEXPECTUse of uninitialized value in scalar chop at - line 3.######### sv.c (sv_2pv)package fred ;sub TIESCALAR { my $x ; bless \$x}sub FETCH { return undef }sub STORE { return 1 }package main ;tie $A, 'fred' ;use warnings 'uninitialized' ;$B = "" ;$B .= $A ;no warnings 'uninitialized' ;$C = "" ;$C .= $A ;EXPECTUse of uninitialized value in concatenation (.) or string at - line 10.######### sv.c use warnings 'numeric' ;sub TIESCALAR{bless[]} ; sub FETCH {"def"} ; tie $a,"main" ; my $b = 1 + $a;no warnings 'numeric' ;my $c = 1 + $a;EXPECTArgument "def" isn't numeric in addition (+) at - line 6.######### sv.cuse warnings 'numeric' ;my $x = 1 + "def" ;no warnings 'numeric' ;my $z = 1 + "def" ;EXPECTArgument "def" isn't numeric in addition (+) at - line 3.######### sv.cuse warnings 'numeric' ;my $a = "def" ;my $x = 1 + $a ;no warnings 'numeric' ;my $y = 1 + $a ;EXPECTArgument "def" isn't numeric in addition (+) at - line 4.######### sv.cuse warnings 'numeric' ; use integer ;my $a = "def" ;my $x = 1 + $a ;no warnings 'numeric' ;my $z = 1 + $a ;EXPECTArgument "def" isn't numeric in integer addition (+) at - line 4.######### sv.cuse warnings 'numeric' ;my $x = 1 & "def" ;no warnings 'numeric' ;my $z = 1 & "def" ;EXPECTArgument "def" isn't numeric in bitwise and (&) at - line 3.######### sv.cuse warnings 'redefine' ;sub fred {} sub joe {} *fred = \&joe ;no warnings 'redefine' ;sub jim {} *jim = \&joe ;EXPECTSubroutine fred redefined at - line 5.######### sv.cuse warnings 'printf' ;open F, ">".($^O eq 'VMS'? 'NL:' : '/dev/null') ;printf F "%z\n" ;my $a = sprintf "%z" ;printf F "%" ;$a = sprintf "%" ;printf F "%\x02" ;$a = sprintf "%\x02" ;no warnings 'printf' ;printf F "%z\n" ;$a = sprintf "%z" ;printf F "%" ;$a = sprintf "%" ;printf F "%\x02" ;$a = sprintf "%\x02" ;EXPECTInvalid conversion in sprintf: "%z" at - line 5.Invalid conversion in sprintf: end of string at - line 7.Invalid conversion in sprintf: "%\002" at - line 9.Invalid conversion in printf: "%z" at - line 4.Invalid conversion in printf: end of string at - line 6.Invalid conversion in printf: "%\002" at - line 8.######### sv.cuse warnings 'misc' ;*a = undef ;no warnings 'misc' ;*b = undef ;EXPECTUndefined value assigned to typeglob at - line 3.######### sv.cuse warnings 'y2k';use Config;BEGIN { unless ($Config{ccflags} =~ /Y2KWARN/) { print "SKIPPED\n# perl not built with -DPERL_Y2KWARN"; exit 0; } $|=1;}my $x;my $yy = 78;$x = printf "19%02d\n", $yy;$x = sprintf "#19%02d\n", $yy;$x = printf " 19%02d\n", 78;$x = sprintf "19%02d\n", 78;$x = printf "319%02d\n", $yy;$x = sprintf "319%02d\n", $yy;no warnings 'y2k';$x = printf "19%02d\n", $yy;$x = sprintf "19%02d\n", $yy;$x = printf "19%02d\n", 78;$x = sprintf "19%02d\n", 78;EXPECTPossible Y2K bug: %d format string following '19' at - line 16.Possible Y2K bug: %d format string following '19' at - line 13.1978Possible Y2K bug: %d format string following '19' at - line 14.Possible Y2K bug: %d format string following '19' at - line 15. 19783197819781978
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -