このままだとtruncate()が絶対に失敗するんですが。
失敗しなくするにはどうすればいいですか?
#!/usr/bin/perl -w
use strict;

sub t($);

open(F, "+<in.txt");  # aが30個くらい並んだだけのファイル
t(*F{IO});
close(F);

sub t($)
{
  my $f = shift;
  truncate($f, 10) || warn("error");
}