Перейти на главную   
  helloworld.ru - документация и книги по программированию  
helloworld.ru - документация и книги по программированию
    главная     хостинг    
Поиск по сайту:  
Смотрите также
Языки программирования
C#
MS Visual C++
Borland C++
C++ Builder
Visual Basic
Quick Basic
Turbo Pascal
Delphi
JavaScript
Java
PHP
Perl
Assembler
AutoLisp
Fortran
Python
1C

Интернет-технологии
HTML
VRML
HTTP
CGI
FTP
Proxy
DNS
протоколы TCP/IP
Apache

Web-дизайн
HTML
Дизайн
VRML
PhotoShop
Cookie
CGI
SSI
CSS
ASP
PHP
Perl

Программирование игр
DirectDraw
DirectSound
Direct3D
OpenGL
3D-графика
Графика под DOS

Алгоритмы
Численные методы
Обработка данных

Сис. программирование
Драйверы

Базы данных
MySQL
SQL

Другое

Хостинг


Друзья
demaker.ru
Реклама

Лучший хостинг. Аренда серверов




helloworld.ru

Введение в PERL

Техническое отступление: мы говорим с вами о символе \n, и меня натолкнуло на мысль, что уважаемые читатели, по моей вине могу подумать, что и в памяти строки хранятся как строка\n, хотя на самом деле это не так, позвольте проиллюстрировать. 

Строка Разработчик - лучший журнал\n будет храниться в памяти как 
|208| 224| 231| 240| 224| 225| 238| 242| 247| ...| 237| 224| 235| 10|,  
где все эти цифры -- ASCII-коды соответствующих им символов, а 10 -- ASCII код знака смены строки. Таким образом знак новой строки, записывающийся
как \n, на самом деле только 1 символ, но ввиду того, что он непечатный символ -- его заменили на 2 символа '\' и 'n'. 

Но, вернемся к программе -- мы все еще пытаемся понять строку while ($_=<FILE>) {. То есть читать строку в $_ из файла с дескриптором FILE до тех пор пока строка не станет нулевой (пустой). А строка тогда станет нулевой, когда программа не сможет прочитать ничего из файла -- конец файла или пока не прочитает строку, которая будет пустой и не будет оканчиваться символом новой строки \n (см. выше) . Но что же это за издевальство -- где точка с запятой? Вместо нее здесь стоит открывающая фигурная скобка. Что же она обозначает? 

А означает она блоковую операцию, чтобы делать в цикле while (пока условие верно) несколько операций вы должны заключить их в фигурные скобки. 

В данном случае мы в цикле читаем имена из файла names, удаляем \n в конце (chomp) и если(if) это прочитанное имя равно имени, которое пользователь ввел, то флаговая переменная ($flag) устанавливается в 1. Дальше мы закрываем файл (close), если флаговая переменная равна 1, то пишем "А я Вас помню", в противном случае (else)  открываем файл names для добавления (">>") и записываем туда очередное имя. 

А если перевести это на человеческий язык, то программа будет запоминать все имена.
К сожалению, у меня не хватило места написать о CGI - программировании, но обещаю, что это будет статьей через пару дней, так как следующая по плану статья - Введение в HTML.   Поздравляем, вы только что прошли crash курс по языку perl.


[ Назад | Далее ]










helloworld.ru © 2001-2021
Все права защищены