#!/usr/local/bin/perl
# 10行取り出す
$tail = 10;
$bufsize = 1024; # バッファサイズ。ここの値は適当に変える
sub tail{
$buf = "";
open(FILE,$ARGV[0]) || die;
$size = -s FILE || exit; # ファイルサイズ取得。
# $pos: FileSizeをBufferSizeで割った値の小数点以下を切り上げた数
$pos = int($size / $bufsize) + ($size % $bufsize > 0);
while($pos--){
seek(FILE, $bufsize * $pos, 0);
read(FILE, $_, $bufsize);
$buf = "$_$buf";
last if (($buf =~ tr/\n/\n/) > 10);
}
close(FILE);
$buf =~ s/[^\n]*\n// while (($buf =~ tr/\n/\n/) > 10);
print $buf;
}