Perl::...erators(3pm)
okay so this is the Perl::...erators(3pm) page from User Contributed Perl Documentation, and the actual policy name is Perl::Critic::Policy::ValuesAndExpressions::ProhibitMismatchedOperators. buckle up bestie, itβs giving βoperator vibes checkβ π
β¨
πΈ NAME πΈ
Perl::Critic::Policy::ValuesAndExpressions::ProhibitMismatchedOperators β Don't mix numeric operators with string operands, or vice-versa. periodt.
π«Ά AFFILIATION π«Ά
This Policy is part of the core Perl::Critic distribution. iconic behavior, honestly π
π DESCRIPTION π
Using the wrong operator type for a value can obscure coding intent and possibly lead to subtle errors. An example of this is mixing a string equality operator with a numeric value, or vice-versa. like, look at this:
if ($foo == 'bar') {} #not ok
if ($foo eq 'bar') {} #ok
if ($foo eq 123) {} #not ok
if ($foo == 123) {} #ok
highkey the comments are doing all the talking here ππ
π§ CONFIGURATION π§
This Policy is not configurable except for the standard options. thatβs it, bestie β no secret extra knobs π«Ά
π NOTES π
If warnings are enabled, the Perl interpreter usually warns you about using mismatched operators at run-time. This Policy does essentially the same thing, but at author-time. That way, you can find out about them sooner. early detection is self-care β¨
Perl handles the strings 'NaN' and 'inf' as special numbers and creates an NV struct when compared with a numeric operator. Although not necessary it is allowed to write code such as:
my $i = 'inf'+0;
This pattern helps others understand that the variable is indeed the Infinite or NaN numbers as Perl interprets them. Only these two special string numbers are allowed to have the '+' operator which would otherwise be allowed only for strings. iykyk π
β¨ AUTHOR β¨
Peter Guzis <pguzis@cpan.org> β thank you for your service π«‘π
π COPYRIGHT π
Copyright (c) 2006-2023 Peter Guzis. All rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. The full text of this license can be found in the LICENSE file included with this module.
mwah π thatβs the whole page, bestie β source/version: perl v5.42.0, date: 2024-10-23, manual: Perl::...erators(3pm). slay and goodbye π¦π
π¦ where this page comes from
- opensuse-leap 16.0: perl-Perl-Critic 1.156.0-bp160.1.1 Β· Artistic-1.0 OR GPL-1.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms