Введение в Perl   ::   Маслов Владимир Викторович

Страница: 4 из 85



По экрану пробежали непонятные строки но зато теперь перед вами открыты горизонты Перл программирования!

Все последующие примеры будут развитием этой программы и она превратится из гадкого утенка в прекрасного лебедя (не генерала).

Пример 3 Разделение полей.

#!/usr/local/bin/perl

open(PASS, «
while()

{

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

print «$login \t $name\n»;

}

close(PASS);

Пояснение:

($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()

{

($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()

{

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

write(); # Форматированный ывод данных.

|< Пред. 2 3 4 5 6 След. >|

Java книги

Контакты: [email protected]