Sep 03, 2013
Perl で cat.pl
UNIX/Linux のコマンドに cat というのがあって、ぽちは主にテキストファイルの中身を表示させたり、バイナリファイルを結合するのに使っています。先日、Windows上でバイナリファイルを結合しなければならなくなり、Unixコマンドの cat相当のものを Perl でざっと書いてみました。
cat.pl
#!/usr/bin/env perl
use strict;
use warnings;
binmode STDOUT;
while ( <@ARGV> ) {
open my $fh, '<', $_ or die "Couldn't open $_: $!";
binmode $fh;
print while <$fh>;
close $fh;
}
コードを見ての通りですけども、こんな感じで使います。
C¥> perl cat.pl file1 file2 file3 > catenated_file
Windows上でバイナリファイルを扱わなきゃいけないので、ファイルハンドルを通しての遣り取りでは binmode を使っています。
と、ここまでは良かったのですけども、これを書いた直後に Windows のコマンドの copy で、
C¥> copy /b file1+file2+file3 catenated_file
とバイナリファイルの結合が出来る事が発覚して、全部無意味になってしまいました……。
Posted at 19:55
in perl
| Comments/Trackbacks ()
Comments/Trackbacks
http://pochi.usamimi.info/blog/perl/cat.
writeback message: