Сравнение двух (потенциально) переменных undef в perl

Я пытаюсь сравнить две переменные, в которых обычно есть строки. Эти переменные генерируются из базы данных, $var1из одной базы данных и $var2из другой. Когда я сравниваю их в цикле, я использую оператор ne. Однако бывают случаи, когда эти переменные равны nullили undef. Сравнение выполняется следующим образом:

foreach my $var1 (@$varlist)
{
  if ($var1 ne $var2)
  {
    print "vars are not equal";
  }
}

Проблема в том, что если $var1или $var2равны undef, то я получаю сообщение об ошибке. Однако мне нужно иметь возможность сравнивать значения, так как undef b/c мне придется их писать. Я подумал о преобразовании переменных в строку «NULL», а затем обратно, но это показалось неэффективным.

Как это исправить? Спасибо!

11
задан Prateek 26 June 2012 в 15:57
поделиться