1#!./perl 2 3print "1..50\n"; 4 5print +(oct('0b1_0101') == 0b101_01) ? "ok" : "not ok", " 1\n"; 6print +(oct('0b10_101') == 0_2_5) ? "ok" : "not ok", " 2\n"; 7print +(oct('0b101_01') == 2_1) ? "ok" : "not ok", " 3\n"; 8print +(oct('0b1010_1') == 0x1_5) ? "ok" : "not ok", " 4\n"; 9 10print +(oct('b1_0101') == 0b10101) ? "ok" : "not ok", " 5\n"; 11print +(oct('b10_101') == 025) ? "ok" : "not ok", " 6\n"; 12print +(oct('b101_01') == 21) ? "ok" : "not ok", " 7\n"; 13print +(oct('b1010_1') == 0x15) ? "ok" : "not ok", " 8\n"; 14 15print +(oct('01_234') == 0b10_1001_1100) ? "ok" : "not ok", " 9\n"; 16print +(oct('012_34') == 01234) ? "ok" : "not ok", " 10\n"; 17print +(oct('0123_4') == 668) ? "ok" : "not ok", " 11\n"; 18print +(oct('01234') == 0x29c) ? "ok" : "not ok", " 12\n"; 19 20print +(oct('0x1_234') == 0b10010_00110100) ? "ok" : "not ok", " 13\n"; 21print +(oct('0x12_34') == 01_1064) ? "ok" : "not ok", " 14\n"; 22print +(oct('0x123_4') == 4660) ? "ok" : "not ok", " 15\n"; 23print +(oct('0x1234') == 0x12_34) ? "ok" : "not ok", " 16\n"; 24 25print +(oct('x1_234') == 0b100100011010_0) ? "ok" : "not ok", " 17\n"; 26print +(oct('x12_34') == 0_11064) ? "ok" : "not ok", " 18\n"; 27print +(oct('x123_4') == 4660) ? "ok" : "not ok", " 19\n"; 28print +(oct('x1234') == 0x_1234) ? "ok" : "not ok", " 20\n"; 29 30print +(hex('01_234') == 0b_1001000110100) ? "ok" : "not ok", " 21\n"; 31print +(hex('012_34') == 011064) ? "ok" : "not ok", " 22\n"; 32print +(hex('0123_4') == 4660) ? "ok" : "not ok", " 23\n"; 33print +(hex('01234_') == 0x1234) ? "ok" : "not ok", " 24\n"; 34 35print +(hex('0x_1234') == 0b1001000110100) ? "ok" : "not ok", " 25\n"; 36print +(hex('0x1_234') == 011064) ? "ok" : "not ok", " 26\n"; 37print +(hex('0x12_34') == 4660) ? "ok" : "not ok", " 27\n"; 38print +(hex('0x1234_') == 0x1234) ? "ok" : "not ok", " 28\n"; 39 40print +(hex('x_1234') == 0b1001000110100) ? "ok" : "not ok", " 29\n"; 41print +(hex('x12_34') == 011064) ? "ok" : "not ok", " 30\n"; 42print +(hex('x123_4') == 4660) ? "ok" : "not ok", " 31\n"; 43print +(hex('x1234_') == 0x1234) ? "ok" : "not ok", " 32\n"; 44 45print +(oct('0b1111_1111_1111_1111_1111_1111_1111_1111') == 4294967295) ? 46 "ok" : "not ok", " 33\n"; 47print +(oct('037_777_777_777') == 4294967295) ? 48 "ok" : "not ok", " 34\n"; 49print +(oct('0xffff_ffff') == 4294967295) ? 50 "ok" : "not ok", " 35\n"; 51 52print +(hex('0xff_ff_ff_ff') == 4294967295) ? 53 "ok" : "not ok", " 36\n"; 54 55$_ = "\0_7_7"; 56print length eq 5 ? "ok" : "not ok", " 37\n"; 57print $_ eq "\0"."_"."7"."_"."7" ? "ok" : "not ok", " 38\n"; 58chop, chop, chop, chop; 59print $_ eq "\0" ? "ok" : "not ok", " 39\n"; 60if (ord("\t") != 9) { 61 # question mark is 111 in 1047, 037, && POSIX-BC 62 print "\157_" eq "?_" ? "ok" : "not ok", " 40\n"; 63} 64else { 65 print "\077_" eq "?_" ? "ok" : "not ok", " 40\n"; 66} 67 68$_ = "\x_7_7"; 69print length eq 5 ? "ok" : "not ok", " 41\n"; 70print $_ eq "\0"."_"."7"."_"."7" ? "ok" : "not ok", " 42\n"; 71chop, chop, chop, chop; 72print $_ eq "\0" ? "ok" : "not ok", " 43\n"; 73if (ord("\t") != 9) { 74 # / is 97 in 1047, 037, && POSIX-BC 75 print "\x61_" eq "/_" ? "ok" : "not ok", " 44\n"; 76} 77else { 78 print "\x2F_" eq "/_" ? "ok" : "not ok", " 44\n"; 79} 80 81print +(oct('0b'.( '0'x10).'1_0101') == 0b101_01) ? "ok" : "not ok", " 45\n"; 82print +(oct('0b'.( '0'x100).'1_0101') == 0b101_01) ? "ok" : "not ok", " 46\n"; 83print +(oct('0b'.('0'x1000).'1_0101') == 0b101_01) ? "ok" : "not ok", " 47\n"; 84 85print +(hex(( '0'x10).'01234') == 0x1234) ? "ok" : "not ok", " 48\n"; 86print +(hex(( '0'x100).'01234') == 0x1234) ? "ok" : "not ok", " 49\n"; 87print +(hex(('0'x1000).'01234') == 0x1234) ? "ok" : "not ok", " 50\n"; 88 89