=~ 正規表現で中身を置換ができる事は理解できたんですが、
中身を入れ替えたいんじゃなく別の変数に入れたいときはどう書けばいいんでしょうか?

現在の自分の知識だと、例えば引数にとった文字列を置換してある変数に入れるとき
$_ = $ARGV[0];
$_ =~ s/mukimuki/mukemuke/;
$hoge = $_;
こんな風に無駄に $_ を経由した書き方になってしまいます。
ほかの言語風に言うと
$hoge = $ARGV[0].replaceWith(s/mukimuki/mukemuke/);
こんな感じで書きたいのですが。