Отлично всё работает. Как уже говорилось, для блокирования по ip забиваем через гуи фиктивный адрес, а потом используем файл /var/squid/acl/banned_hosts.acl
Нюансы:
1. нужно пропускать первые 2 строки в файле .total:
$totaluser=<ff>;chomp $totaluser;$totaluser=~s/^user: //;
$totalsize=<ff>;chomp $totalsize;$totalsize=~s/^size: //;
while (<ff>) {
($user, $size, $hit) = split;
$h{$user}{size}+=$size;
$h{$user}{hit}+=$hit;
2. Если пока никто не забанен, то получается пустой файл, поэтому через скрипт прописываем тот же фиктивный ip в файл banned_hosts.acl:
open FF,">","/var/squid/acl/banned_hosts.acl";
print FF ("фиктивный ip\n");
foreach $user (sort {$h{$b}{size}<=>$h{$a}{size}} keys %h) {
print FF ("$user\n") if ($h{$user}{size} > $tt{$user}{limit});
3. Так как скрипт пользуется результатами работы скрипта /usr/local/www/lightsquid/lightparser.pl то более логично дописать весь этот функционал именно в него.</ff></ff></ff>