open(FILE, "<$FilePath");
while (read FILE, $_, 1024) {
  unless ($Count % $DivSize) {
   $FCount = sprintf("%04d", ++$FCount);
   open(OUT, ">${FileName}_$FCount$AddExt");
   binmode(OUT);
  }
  print OUT $_;
  $Count++;
}

これは $DivSize に 500 とか指定して指定KB単位で
ファイルを分割する(昔DOSで使っていたkitcutみたいな)のですが、
Active Perl for Linuxでは期待通りに動くのに
Active Perl for Win32(Win98SE)では失敗します。

直接の原因は読み込むファイルに"0x1A"があると
そこで処理が終了してしまうようですが、
なぜそうなるのかは分かりません。
Windows系OSでも正常に動かすにはどうすればよいのでしょうか?