エンコードについての質問です。

utf-8 のテキストの中に、混ざっている shift-jis の文字を置換するために、

s/\xe2\x80\x94/−/g;

とします。このとき、

use utf8;
や
use encoding ("utf-8");

を使用していると、上記の置換ができませんので、コメントアウトしています。

このように、utf8フラグは立てないで処理してもよいのでしょうか?
他にもっといい方法があるのでしょうか?

よろしくお願いします。