Perlでエラーのお話。
“eq”は別の予約語の場合もあり。
例えば、
if( $temp eq 'asdf' ){}
という、何の変哲も無い比較を行うときに出現するエラー。
これを回避するには、
if( "$temp" eq 'asdf' ){}
とすればいいのだけれど、これは$tempが純粋なスカラーでない場合に発生する。
つまり、
print ref $temp;
この場合、リファレンスを調べるとSCALARではないとき。
自分がよく遭遇するのは、
XML::LibXML::NodeList
のとき。
スカラーが帰っていると思い込んでいると、たまに痛い目にあいます。