Because not to confuse|treat a boolean as integer as it happens in Lua, Ruby (someone else mentioned), Java, & Rust (code+compiler error for last 2 is below).

A C++ compiler will not complain on implicit conversion (per casual search; a Clang linter warning exists: readability-implicit-bool-conversion).

In context of Perl, was hoping that "native boolean" -- as mentioned earlier -- would actually be so and no more, to, perhaps, slowly (very) update Perl😐

# Java. class TruthySome { public static void main() { int[] some = { 4, 5, 6 }; System.out.println( some[ true ] + " " + some[ false ] ); } } truth.java:6: error: incompatible types: boolean cannot be converted t +o int System.out.println( some[ true ] + " " + some[ false ] ); ^ truth.java:6: error: incompatible types: boolean cannot be converted t +o int System.out.println( some[ true ] + " " + some[ false ] ); ^ 2 errors # Rust. fn main() { let some = [ 4, 5, 6 ]; println!( "{} {}", some[ true ], some[ false ] ); } Compiling truth v0.1.0 (/tmp/rust/truth) error[E0277]: the type `[{integer}]` cannot be indexed by `bool` --> src/main.rs:3:29 | 3 | println!( "{} {}", some[ true ], some[ false ] ); | ^^^^ slice indices are of type `usize` + or ranges of `usize` | = help: the trait `SliceIndex<[{integer}]>` is not implemented for ` +bool`, which is required by `[{integer}; 3]: Index<_>` = note: required for `[{integer}]` to implement `Index<bool>` = note: 1 redundant requirement hidden = note: required for `[{integer}; 3]` to implement `Index<bool>` error[E0277]: the type `[{integer}]` cannot be indexed by `bool` --> src/main.rs:3:43 | 3 | println!( "{} {}", some[ true ], some[ false ] ); | ^^^^^ slice indices are +of type `usize` or ranges of `usize` | = help: the trait `SliceIndex<[{integer}]>` is not implemented for ` +bool`, which is required by `[{integer}; 3]: Index<_>` = note: required for `[{integer}]` to implement `Index<bool>` = note: 1 redundant requirement hidden = note: required for `[{integer}; 3]` to implement `Index<bool>` For more information about this error, try `rustc --explain E0277`. error: could not compile `truth` (bin "truth") due to 2 previous error +s

In reply to Re^4: 5.40 released- native boolean- convert to [01] without any warning|error by parv
in thread 5.40 released by hippo

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.