昨日後ろゴケして首着地をキメたら、やはり今日になって首が痛い。
昨日気付いたのだがクッションの絵が間違ってる。Tナットが突き通ってないところが致命的にダメ。こうだよね。
表地まで爪が刺さっているので、締められるけど、緩められない。
ホームセンターに行ったらもっとマシなTナットが売ってた。でも取り付け方法をもう少し考えないといけない。表地に直接つけると、表地のダメージが心配だし。アルミプレートを使おうかなと思っている。
CPAN見るべきな気がするが。File-Binaryの(get|put)_bytesを使うべきなのかね。
use strict; use warnings; open my $fd, "<", $ARGV[0]; binmode $fd; my $size = -s $ARGV[0]; my $size_part = 1000*1000*1000*4 - 1024*1024; my $buflen = 1024*1024*40; $buflen = $size_part < $buflen ? $size_part : $buflen; my $times = $size_part / $buflen; my $file_count = $size / $size_part; $file_count++ if ($size % $size_part); sub copy_part { my ($name, $file, $times, $length) = @_; open my $fd, ">", $name; my $buf = ''; binmode $fd; for (my $i = 0; $i < $times; $i++) { unless(sysread($file, $buf, $length)) { print $fd $buf; close $fd; return 0; } print $fd $buf; } close $fd; return 1; } open my $batch, ">", $ARGV[0].".bat"; print $batch "copy "; for (my $i = 1; $i < $file_count; ++$i) { my $name = sprintf($ARGV[0].".%03d", $i); copy_part($name, $fd, $times, $buflen); print $batch "/b $name"; print $batch " + " if $i+1 < $file_count; } print $batch " /b $ARGV[0]\n"; close $batch; close $fd;
結局Perlにとってバイナリファイルって何かよくわかってないな。
また環境が変わるんでしばらくPerlを触らない予感。
でもモチベーションない。