I'm not sure what you mean by "real" true and false. Perl doesn't have real true and false yet. If you're talking about "true" and "false" from the "builtin" pragma, that's still very experimental and only available from Perl 5.36+. What we have now are different conventions for representing true and false, i.e. the legacy 1 and 0 (and the problems they have, i.e. cross-language interoperability), the YAML/JSON spurred \1 and \0 (but that doesn't play nice with legacy code), and now my dualvar-based 1|"1" and 0|"0" which is (IMHO) better than all the rest because it's fully backward-compatible (i.e. legacy code expecting 1 or 0 works just fine) yet easy to identify as a boolean (via is_dualvar).
"I am inevitable." - Thanos