シロートですが、どなたか教えて下さい。

if ( @list1[2] eq @list2[3] ){

とやってて、@list1[2]と@list2[3]にはそれぞれ"00001"が入っているのですが、
条件に一致しません。

if ( @list1[2] == @list2[3] ){

とすると一致します。

この例では値が"00001"ですが、実際は文字の場合もあるので、eq をつかいたいのですが、
どうしたらよいでしょうか?

Perlは文字とか数値とかあんまり意識せずに使えると思ってましたが、こういう場合は
別なんでしょうか?