Создание серверных приложений на языке PERL



              

От простого к сложному - часть 3


Пояснение:

($login, $pass, $uid, $gid, $name, $home_dir, $shell) = split(':');

Присвоить указанным переменным поля входной строки, считая разделителем символ ':'.

print "$login \t $name\n";

Вывести login - имя пользователя и его описание. Поля разделены символом '\t' - табуляции.

Пример 4.

Вывести имена пользователей, отсортированных по группам.

#!/usr/local/bin/perl open(PASS, "sort -n -t : +3 -4 +0 /etc/passwd|") || die "Файл не найден!"; while(<PASS>) { ($login, $pass, $uid, $gid, $name, $home_dir, $shell) = split(':'); print "$login \t $gid \t $name\n"; } close(PASS);

Пояснения:

open(PASS, "sort -n -t : +3 -4 +0 /etc/passwd|") || die "Файл не найден!";

В данной строке весь фокус! Входным файлом для нашей программы стал выход команды sort которая и отсортирует входные данные.

Форматированный вывод.

Ну а теперь напечатаем на экране все наши данные в удобной форме.

#!/usr/local/bin/perl

open(PASS, "sort -n -t : +3 -4 +0 /etc/passwd|") || die "Файл не найден!"; while(<PASS>) { ($login, $pass, $uid, $gid, $name, $home_dir, $shell) = split(':'); write(); # Форматированный вывод данных. } close(PASS); exit 0; # Завершение программы

############ Описание формы вывода ##################

format STDOUT =

Пользователь: ^

Фрагмент результата:

Пользователь: Калужский ликероводочный завод. Лучшие водки и настойки. Звонить только перед праздником Кострикову Анатолию т. 2-23-06,,, ---------------------------------------------------------------------- Login:uucryst Uid:1055 Gid:66 Home dir:/var/spool/uucppublic/ ----------------------------------------------------------------------

Пользователь: Торговый Дом Дилен,,,

---------------------------------------------------------------------- Login:uudilen Uid:1075 Gid:66 Home dir:/var/spool/uucppublic ----------------------------------------------------------------------

Если вам интересно узнать как работает эта программа, то переверните страницу и начините свое путешествие в мире Perl. Желаю удачи!

[Содержание] [Вперед]




Содержание  Назад  Вперед