- Perlについての質問箱 64箱目 [転載禁止]©2ch.net
778 :デフォルトの名無しさん[sage]:2015/12/19(土) 02:05:18.10 ID:akpvQEZV - >>775-776
1行ずつではなく追加する行のバイト長ずつだが #!/usr/bin/perl use strict; use warnings; use Fcntl qw(LOCK_EX SEEK_CUR); my $ow_line = "append line to top of file.\n"; my $ow_len = length $ow_line; open my $fh, '+<', $ARGV[0] or die $!; flock $fh, LOCK_EX or die $!; binmode $fh; while (my $buf_len = sysread $fh, my $buf_line, $ow_len) { sysseek $fh, -$buf_len, SEEK_CUR; syswrite $fh, $ow_line; $ow_line = $buf_line; $ow_len = $buf_len; } syswrite $fh, $ow_line; close $fh or die $!;
|
|