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"; }
こんなかんじでどうですか。