>>500
file() で読み込むと行の最後にある改行まで変数に入る。
rtrim() で不要な改行を取り除けば大丈夫。

$list = explode("|", rtrim($val));