Электронная библиотека
Xakep
Юниксоид
Xakep, номер #013, стр. 013-056-2
{действие;}
Пример:
for($i=0;i<=9;$i++)
{print "Элемент массива #$i = $massive[$i]\n";}
В этом примере мы выводим первые 10 элементов массива.
Синтаксис цикла while выглядит так:
while ($evil<666) {
print "SATAN comming!!!\n";
$evil++;
}
Данное действие будет выполняться до тех пор, пока переменная $evil не станет больше 666.
Синтаксис цикла foreach выглядит так:
foreach $phone (@phonebook) {
print "$phone\n"
}
В переменную $phone по порядку передаются элементы из @phonebook. Данный цикл будет работать до тех пор, пока у массива @phonebook не кончатся элементы.
Синтаксис цикла until выглядит так:
Этот цикл - противоположность цикла while, то есть он выполняется, пока условие является правдой.
Пример:
until ($evil>666) {
print "SATAN comming!!!\n";
$evil++;
}
5) Полезные встроенные переменные.
Далее приведен список и описание встроенных переменных, которые будут нам полезны в написании программ:
@ARGV - массив аргументов, вводимых пользователем. Напомню, что в Perl'e $ARGV[0] - это не имя запущенной программы, как в Си, а именно первый аргумент.
$$ или $PID - содержит PID (Process IDentfication) идентификатор процесса.
$< или $UID - содержит UID (User IDentifcator) идентификатор пользователя, с которым запущен процесс.
$(или $GID - содержит GID (Group IDentificator) идентификатор группы, с которым запущен процесс.
Напомню, что CGI (Common Gateway Interface) - это интерфейс взаимодействия веб-сервера и твоей программы. Далее приведены переменные, полезные для написания веб-приложений.
$HTTP USER_AGENT - содержит информацию, передаваемую клиентом серверу, о версии web-броузера.
$REMOTE ADDR - содержит IP-адрес клиента, отправившего запрос к программе.
$REMOTE HOST - содержит хост клиента, отправившего запрос к программе.
$HTTP REFERER - откуда пришел клиент.
6)Полезные функции:
Далее я приведу список встроенных функций, которые будут полезны в нашем деле:
-bind socket,name
Назначает сетевой адрес сокету.
-chmod 0777 'file1','file2';
Изменяет права доступа к указанным файлам.
-chown
Изменяет владельца файла и группу.
-close
Закрытие файла или потока.
-connect сокет, имя
Связаться с удаленным сокетом.
-exec "программа" или system "программа"
Выполняет указанное приложение.
-setsockopt сокет, уровень, опция
Устанавливает параметры сокета.
-kill процесс
Убивает процесс.
-listen SOCKET, QUEUESIZE
Аналогично системному вызову listen().
-open файл
Открывает файл. Если перед именем стоит <, то файл открывается на чтение, а если стоит >, то на запись.
| - запуск
-rand
Возвращает случайное число.
-recv Сокет, Скаляр, Длина, Флаги
Берет сообщение из сокета.
-socket Сокет, Домен, Тип, Протокол
Открывает сокет.
-send SOCKET,MSG,GLAGS
Отсылает сообщение через сокет.
-read файл, скаляр, длина
Читает указанное число байт из файла в переменную.
-
Ожидает ввода с клавиатуры.
-legth
Возвращает длину строки.
-my список
Объявляет список локальных переменных.
-goto подпрограмма, метка и выражение
Переходит на указанную метку.