1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137
|
util.c AOK
Illegal octal digit ignored
my $a = oct "029" ;
Illegal hex digit ignored
my $a = hex "0xv9" ;
Illegal binary digit ignored
my $a = oct "0b9" ;
Integer overflow in binary number
my $a = oct "0b111111111111111111111111111111111111111111" ;
Binary number > 0b11111111111111111111111111111111 non-portable
$a = oct "0b111111111111111111111111111111111" ;
Integer overflow in octal number
my $a = oct "077777777777777777777777777777" ;
Octal number > 037777777777 non-portable
$a = oct "0047777777777" ;
Integer overflow in hexadecimal number
my $a = hex "0xffffffffffffffffffff" ;
Hexadecimal number > 0xffffffff non-portable
$a = hex "0x1ffffffff" ;
__END__
# util.c
use warnings 'digit' ;
my $a = oct "029" ;
no warnings 'digit' ;
$a = oct "029" ;
EXPECT
Illegal octal digit '9' ignored at - line 3.
########
# util.c
use warnings 'digit' ;
my $a = hex "0xv9" ;
no warnings 'digit' ;
$a = hex "0xv9" ;
EXPECT
Illegal hexadecimal digit 'v' ignored at - line 3.
########
# util.c
use warnings 'digit' ;
my $a = oct "0b9" ;
no warnings 'digit' ;
$a = oct "0b9" ;
EXPECT
Illegal binary digit '9' ignored at - line 3.
########
# util.c
use warnings 'overflow' ;
my $a = oct "0b11111111111111111111111111111111111111111111111111111111111111111";
no warnings 'overflow' ;
$a = oct "0b11111111111111111111111111111111111111111111111111111111111111111";
EXPECT
Integer overflow in binary number at - line 3.
########
# util.c
use warnings 'overflow' ;
my $a = hex "0xffffffffffffffffffff" ;
no warnings 'overflow' ;
$a = hex "0xffffffffffffffffffff" ;
EXPECT
Integer overflow in hexadecimal number at - line 3.
########
# util.c
use warnings 'overflow' ;
my $a = oct "077777777777777777777777777777" ;
no warnings 'overflow' ;
$a = oct "077777777777777777777777777777" ;
EXPECT
Integer overflow in octal number at - line 3.
########
# util.c
use warnings 'portable' ;
my $a = oct "0b011111111111111111111111111111110" ;
$a = oct "0b011111111111111111111111111111111" ;
$a = oct "0b111111111111111111111111111111111" ;
no warnings 'portable' ;
$a = oct "0b011111111111111111111111111111110" ;
$a = oct "0b011111111111111111111111111111111" ;
$a = oct "0b111111111111111111111111111111111" ;
EXPECT
Binary number > 0b11111111111111111111111111111111 non-portable at - line 5.
########
# util.c
use warnings 'portable' ;
my $a = hex "0x0fffffffe" ;
$a = hex "0x0ffffffff" ;
$a = hex "0x1ffffffff" ;
no warnings 'portable' ;
$a = hex "0x0fffffffe" ;
$a = hex "0x0ffffffff" ;
$a = hex "0x1ffffffff" ;
EXPECT
Hexadecimal number > 0xffffffff non-portable at - line 5.
########
# util.c
use warnings 'portable' ;
my $a = oct "0037777777776" ;
$a = oct "0037777777777" ;
$a = oct "0047777777777" ;
no warnings 'portable' ;
$a = oct "0037777777776" ;
$a = oct "0037777777777" ;
$a = oct "0047777777777" ;
EXPECT
Octal number > 037777777777 non-portable at - line 5.
########
# util.c
# NAME 132683: Use of uninitialized value" in warn() with constant folding and overloaded numbers
use strict;
use warnings;
package Foo;
use overload log => sub {
warn "here\n"; # Use of uninitialized value in warn
CORE::log($_[0]->{value});
};
sub import {
overload::constant
integer => sub { __PACKAGE__->new($_[0]) };
}
sub new {
my ($class, $value) = @_;
bless {value => $value}, $class;
}
package main;
BEGIN { Foo->import }
my $x = log(2);
EXPECT
here
|