あー。これで逝けたYO!

open(TEST, "| perl b.pl"); # <== ちゃんとコマンド名で叩く
select( (select(TEST), $| = 1)[0] );
print TEST "test\n";
close(TEST);

きちんと perl.exe 経由で起動すればパイプ繋がるわ。
#! 行に頼るとダメっぽい…。