Рассмотрим программу, реализующую поиск таких
Рассмотрим программу, реализующую поиск таких признаков. Сама программа написана для Unix, но демонстрируемые в ней приемы не зависят от платформы. Во-первых, это встроенная документация.
Неплохо поместить нечто подобное ближе к началу программы для тех, кто будет смотреть на исходный код. Перед тем как двигаться дальше, обязательно взгляните, какие аргументы поддерживаются
программой:
sub usage {
print «"EOU"
lastcheck - проверяет вывод команды last,
ИСПОЛЬЗОВАНИЕ: lastchecK [args]. где вместо может быть:
-i: для IP-адресов, считан-^ сеть класса С одним 'доменом
-л: помощь (это сообщение)
/usr/ucb/last
exit:
Сначала мы анализируем аргументы из командной строки, просматриваются аргументы программы и соответствующим образом устанавливается $ор1_<буква_фла!а>. Двоеточие после буквы
говорит о том, что этот параметр принимается как аргумент:
use Getopt::Std: ft сгиндарт.ньи: процессор
&usage if (defined $opt_h):
it допустимое количество уникальных
Smaxdomains = (defined $opt_ni) 9 Sopt.r : 3:
В следующих строчках реализуется выбор, сделанный в пользу переносимости (но в ущерб эффективности) - об этом мы говорили в главе 9. На этот раз мы решили вызвать внешнюю программу. Для того чтобы сделать программу менее переносимой, но несколько более эффективной, можно было использовать uripack(), о чем тоже говорилось в той
главе:
Slastex = (defined $opt_l) ? $opt_l : "/usr/ucb/last":
open(LAST,"$lastex|") [| die "Невозможно выполнить программу Slastex:$!\n";
Перед тем как двигаться дальше, давайте взглянем на хэш списков, с помощью которого программа обрабатывает данные, полученные от last. Ключами этого хэша являются имена пользователей, а значениями - ссылки на список уникальных доменов, с которых регистрировался пользователь.
К примеру, запись может выглядеть так:
Suserinfo { laf } = [ 'ccs.neu.edu', 'xerox,com', 'foobar.edu' ]
Эта запись говорит о том, что пользователь laf регистрировался с доменов ccs.neu.edu, xerox.com и foobar.edu.
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий