>>283
行入力演算子(<>)はEOFでは未定義値を返すので、

if (!defined $var) {