#!/usr/bin/perl
use strict;
use warnings;
my ($foo, $bar);
print '1: ', $foo eq $bar, "\n"; # Uninitialized warning.
{
no warnings qw( uninitialized );
print '2: ', $foo eq $bar, "\n"; # No warnings emitted.
}
print '3: ', $foo eq $bar, "\n"; # Warns again.
####
((defined($x) && defined($y) && ($x eq $y))
|| (!defined($x) && !defined($y))
####
( defined($x && $y) and ($x eq $y) ) or not defined($x || $y)
####
defined($x&&$y)&&$x eq$y||!defined($x||$y)