以下のPerlコードを使用して、私が所有しているバイナリファイルのコピーを作成しています。Perlプログラムでバイナリファイルをコピーする方法
$in = "test_file_binary.exe";
$out = "test_out_binary.exe";
open(IN,$in) || die "error opening ip file: $!" ;
open(OUT,">$out") || die "error opening op file: $!" ;
while(<IN>)
{
#chomp;
print OUT $_;
}
close(IN);
close(OUT);
しかし、このコードのバージョンこのPerlコードが0x0Aを(改行)の前に0x0Dを(キャリッジリターン)文字を追加するようなので、出力バイナリファイルは、入力バイナリファイルのサイズよりもサイズであり、文字で入力ファイル、それはまだそこにない。
chompを使用すると、有効な0x0A文字が存在しても削除され、出力ファイルに入れられません。
1]これをどのように上記のコードで修正できますか?
2]どのように私はFile :: Copyモジュールを使用してこれを解決できますか、任意のコードスニップの例が役に立ちます。
ありがとうございました。両方のファイルハンドルに
〜AD
Perl :: Copyはありません。多分あなたはFile :: Copyを意味するでしょうか?ドキュメントには十分な例があるはずです。 – runrig
@runrig:うん、タイプミス。それを編集しました。 – goldenmean