Связь и интернет Архив Программирование
   
Сделать стартовойСделать закладку            
   ПОИСК  
   
Главная / Perl / Руководство Маслов /
8  Perl
8  PHP
8  JavaScript
8  HTML
8  DHTML
8  XML
8  CSS
8  C / C++
8  Pascal и Delphi
8  Турбо Ассемблер
8  MySQL
8  CASE-технологии
8  Алгоритмы
8  Python
8  Обратная связь
8  Гостевая книга
Новости о мире


От простого к сложному - Программирование от RIN.RU
От простого к сложному



Пример 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(); # Форматированный вывод данных.
}
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
----------------------------------------------------------------------


Следующий урок

<<<  Назад
 1  2  3 


 8  Комментарии к статье  8 8  Обсудить в чате

8  В тему

Запуск Perl-программы

Синтаксис

Модули

Переменные

Встроенные переменные

Регулярные выражения

Операторы и приоритеты

Встроенные функции

Форматы отчетов

Подпрограммы

Отладка Perl программ.

 
  
  
    Copyright ©  RIN 2003 - 2004      * Обратная связь