Итак, вашей команде надо дежурить в соревнованиях Интернет-клуба. Вы написали красивые вопросы, защитились от кверулянтов и апеллянтов, и готовитесь к приему ответов. Но вот проблема -- как справиться с десятками писем от команд-участниц? Комплекс программ Интернет-Клуба ``Что? Где? Когда'' поможет вам. 1. УСТАНОВКА И НАСТРОЙКА ПРОГРАММ А. Зайдите на http://www.kulichki.com/znatoki/boris/processmail и возьмите либо processmail.zip, либо processmail.tgz. Распакуйте эти файлы на Вашм компьютере. Вы найдете: - README -- этот файл - processmail.pl, createtable.pl, reminder.pl, collection.pl -- скрипты для обработки почты. - subroutines.pl -- вспомогательный файл, используемый прочими скриптами - parameters.pl -- файл, содержащий настраиваемые параметры программ - process.tex, process.ps -- техническая документация к программам (если Вы не собираетесь ``влезать вовнутрь'', Вам она не понадобится ) Б. В каждом из файлов processmail.pl, createtable.pl, reminder.pl, collection.pl замените первую строку (#!/usr/local/bin/perl) на ссылку на положение перла в Вашей системе. Сделайте эти файлы выполняемыми (в Юниксе это делает chmod a+x *.pl) В. Посмотрите внимательно файл parameters.pl. В нем Вы можете захотеть изменить ряд параметров: $fromaddress задает Ваш обратный адрес $DK задает название Вашей команды $date -- системная процедура, которая выдает московское время (если Вы не можете его вычислить, напишите просто $date="";) процедуры printheader и printfooter печатают заголовок Вашего письма-напоминания на лист z-info 2. РАБОТА С ПРОГРАММАМИ А. Просмотрите каждое письмо с ответами -- соблюден ли в нем формат. Вот пример правильно оформленных ответов: *** "Марсиане", 343 #1. Дедка #2. Бабка #3. Внучка #4. Жучка, кошка и мышка *** ПОМНИТЕ: если команда прислала несколько писем, написание названия команды в них должно быть одинаковым. Если у команды еще нет регистрационного номера, поле ``номер'' может быть пропущено. Программа присвоит такой команде регистрационный номер 0. Напомните капитану такой команды, чтобы он срочно связался с Секретарем клуба. Б. Складывайте все ответы в один файл, например, answers. Если от команды пришло несколько писем, бросайте туда ВСЕ. Проверьте, что более поздние письма следуют за более ранними. В. Время от времени запускайте reminder.pl -m answers Это пошлет на лист z-info сводку о командах, чьи ответы получены. Но не злоупотребляйте сводками, дабы не рассердить Почтмейстера. Г. Когда ответов скопится достаточно, запустите processmail.pl -m answers -o scores Тогда у Вас получится файл scores примерно такого типа: #1. Frequency: 1. Score: ? Хам #1. Frequency: 2. Score: ? Bog .... Замените "?" на "+" и "-" и запишите файл. Если придут новые письма, бросьте их все в тот же файл (НЕ УБИРАЯ СТАРЫХ!!!). Команда processmail.pl -t scores -m answers -o scores добавит в файл scores ответы, которых Вы еще не оценили. Примечания: ----------- (1) Если файла scores еще не существует, команда processmail.pl -t scores -m answers -o scores выдает ошибку. Используйте processmail.pl -m answers -o scores (2) НЕ используйте команду типа processmail.pl -t scores -m answers > scores Это приведет к уничтожению ваших старых оценок. Д. Когда срок приема ответов истечет, ПРОВЕРЬТЕ ваши оценки. Неприятно наталкиваться на собственную небрежность, правда? Команда createtable.pl -m answers -t scores -o table создаст файл table с таблицей результатов, а команда collection.pl -m answers -t scores -o collection создаст файл collecton с собранием сочинений. Если вопросов много, формат вывода команды createtable.pl может оказаться неудобным. В этом случае используйте формат createtable.pl -s -m answers -t scores -o table Ключ -s (от Short) выводит ответы в "сжатом" формате. В ИЧБ принят особый формат: он состоит из предварительного и основного тура, причём при равенстве ответов в основном туре преимущество у команды, у которой лучше результат в предварительном туре. Для этого формата работает специальная программа createtable2.pl. Она вызывается так: createtable.pl -s -T scores1 -M answers1 -m answers -t scores -o table где scores1 и answers1 относятся к предварительному туру, а scores и answers -- к основному. Перед посылкой на общий лист просмотрите файлы еще раз -- а вдруг ошиблись Вы или я? Вот и все! 3. РАЗНЫЕ РАЗНОСТИ В файле process.tex хранится техническая документация к программaм. Если Вы хотите разобраться, как именно работает система, этот файл для Вас. Все программы позволяют при вызове указать ключ -d (debug). С этим ключом программы печатают массу всякой дополнительной информации -- полезной и не очень... 4. АВТОР Борис Вейцман, boris@plmsc.psu.edu http://www.plmsc.psu.edu/~boris Я благодарен Якову Зайдельману, Льву Горенштейну, Алексу Покрасу и Дмитрию Рубинштейну за помощь в разработке этой программы. $Id: README,v 2.2 2005/01/24 03:36:37 boris Exp $