uuencode を Perl で再現するコードのストリームバージョン
uuencode を Perl で再現するコードのストリームバージョン(省メモリ)が欲しい — ちょ子 (@cho45) September 5, 2012
danさんのコードをちょっとかえたら、目的をはたせそうですね。
#!/usr/local/bin/perl
use strict;
use warnings;
for my $filename (@ARGV){
my $perm = (stat($filename))[2] & 0777;
printf "begin %o $filename\n", $perm;
open my $rfh, '<', $filename or die "$filename : $!";
my $buf;
while (read($rfh, $buf, 4500)) {
print pack("u", $_) while($_ = substr($buf, 0, 45, ''));
}
close $rfh;
print "`\nend\n";
}
こんなかんじでどうですか。
Published: 2012-09-05(Wed) 07:39