Evaluating two undef values for string equality yields a true result. undef is temporarily promoted to "" (the empty string) in string context. If warnings are enabled, warnings are emitted.
c:\@Work\Perl\monks>perl -le
"use strict;
use warnings;
;;
use Data::Dump qw(dd);
;;
my ($value, $alice, $bob);
;;
$value = $alice eq $bob;
dd 'result of comparison of undefined values', $value;
"
Use of uninitialized value in string eq at -e line 1.
Use of uninitialized value in string eq at -e line 1.
("result of comparison of undefined values", 1)
Give a man a fish: <%-{-{-{-<