Введение в Perl

       

Читать по одной строке файла



Пример 2

#!/usr/local/bin/perl open(PASS, "</etc/passwd") || die "Файл не найден!"; while(<PASS>) { print; } close(PASS); Пояснения:

open(PASS, "</etc/passwd") || die "Файл не найден!"; "Открыть" файл, т.е. создать указатель файла PASS, и в случае ошибки выдать "Файл не найден!" и закончить программу.
while(<PASS>) Читать по одной строке файла в переменную по умолчанию $_.
{ Открыть блок операторов.
print; Вывести на экран переменную по умолчанию $_
}

Конец блока.
close(PASS); Закрыть файл. Этого можно и не делать, т. к. файл автоматически закроется после окончания программы.

Результат работы этой программы тот же что и команды cat /etc/passwd. По экрану пробежали непонятные строки но зато теперь перед вами открыты горизонты Perl программирования! Все последующие примеры будут развитием этой программы и она превратится из гадкого утенка в прекрасного лебедя (не генерала).


Пример 2

@var1 # Все элементы массива var1 ( $var1[0], $var1[1], ... $var1[n]) @var1[1,3,10] # Элементы $var1[1], $var1[3], $var1[10] @var1{'first','last'} # то же что и ( $var1{'first'}, $var1{'last'} ) Хеш "целиком" начинается с символа '%'.



Пример 2

chmod 0666 'f1', 'f2', 'f3';



Пример 2

print 4**2 # Результат 16 print -4**2 # Результат -16 т.е. -(4**2)



Пример 2

$s = "1+2-3*4"; if ($s =~ /(\d)(?=-)/) # Найти цифру за которой стоит '-' { print "$1\n"; # Результат '2' } else { print "ошибка поиска\n";} (?!шаблон) - "заглядывание" вперед по отрицанию.



Пример 2



Пример 2

$var = 1; $var2 = 3 if $var > 0; # Результат: $var2 = 3 while EXPR - Модификатор "пока". Предложение выполняется пока EXPR = true

Содержание раздела