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.

  if ($foo == 'bar') {}     #not ok
  if ($foo eq 'bar') {}     #ok
  if ($foo eq 123) {}       #not ok
  if ($foo == 123) {}       #ok


If the warnings manpage 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 our about them sooner.


Peter Guzis <pguzis@cpan.org>


Copyright (c) 2006 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.