perlで読み書き両用でパイプをオープンしたい

イメージ的にはこんな感じ
例えば$dataの中にS-JISコードのデータがあってnkfでutf-8に直してまた$dataに戻したいと思ったところ
open (FH,"|nkf -w8");
print FH $data;
とすればnkfに渡るが出力がキャッチできない
open (FH,"|nkf -w8|");
とかは出来ない
これについてperlfaq8に載っていた
How can I open a pipe both to and from a command?
の部分

よく分からないがIPC::Open2を使うと良いらしい