$str = 'AxBxC';
@x = split('x', $str);
print join('-', @x),"\n";

$str = 'A/B/C';
@x = split('/', $str);
print join('-', @x),"\n";

$str = 'A|B|C';
@x = split('|', $str);
print join('-', @x),"\n";

上を実行すると、以下のように3つ目だけ異なる結果になります。

A-B-C
A-B-C
A-|-B-|-C

セパレータが | の時にも上二つと同じ結果が出るようにしたいのですが、
どうしたらいいんでしょうか?