Вход/Регистрация
Введение в Perl
вернуться

Маслов Владимир Викторович

Шрифт:

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

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

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

#!/usr/local/bin/perl

open(PASS, «</etc/passwd») || die «Файл не найден!»;

while(<PASS>)

{

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

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

^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

$name

^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

$name

^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

$name

Login:@<<<<<<<< Uid:@<<< Gid:@<<< Home dir:@<<<<<<<<<<<<<<<<<<<<<

$login, $uid, $gid, $home_dir

. # Это последняя строка программы

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

Пользователь: Калужский ликеро-водочный завод. Лучшие водки и

настойки. Звонить только перед праздником Кострикову

Анатолию т. 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 [ключи] файл аргументы

Перед стартом Перл ищет скрипт (программу) в следующем порядке:

  • Читать дальше
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: