На главную

Библиотека Интернет Индустрии I2R.ru

Rambler's Top100

Малобюджетные сайты...

Продвижение веб-сайта...

Контент и авторское право...

Забобрить эту страницу! Забобрить! Блог Библиотека Сайтостроительства на toodoo
  Поиск:   
Рассылки для занятых...»
I2R » Сайтостроительство » Web-программирование

Perl для чайников (Учебник, ч. 1/3)

Заранее хочу    предупредить вас, что эта статья не сделает из вас супер PERL программиста,    но она даст вам некоторые необходимые начальные сведения, которые помогут    вам в дальнейшем изучении этого интереснейшего языка программирования.  

Эту статью я решил    написать, после того как узнал насколько сложно "врубиться" во всё,    даже если у вас есть под рукой какое либо пособие по PERL. Везде, уже в самом    начале, начинают ссылаться на какие-то загадочные термины и команды, а вам    остаётся только удивлённо хлопать глазами, или (если вы всё же что-то поняли)    заставить эти программы работать (не "как надо", а вообще!). Эту    статью можно было бы назвать "PERL для чайников", если бы она охватывала    весь материал, но здесь я ставлю перед собой цель дать вам лишь необходимые    начальные понятия, и так сказать "подготовить к дальнейшим сражениям":).    Хотя вполне возможно, что в дальнейшем, "по просьбам трудящихся",    эта небольшая статья разрастётся в нечто большее.


Итак... начинаем!

Для начала сообщу    вам, что PERL необходимо установить на ваш компьютер. Эту, казалось бы, простую    операцию некоторые мои знакомые начисто пропускали, а после, написав простенькую    программу, долго пытались её запустить... ;) Наиболее доступный пакет PERL    (на мой взгляд) - это ActivePerl, хотя, этот пакет ориентирован на пользователей    Windows, а если у вас UNIX, то можно скачать что нибудь родное с www.perl.com.    Так или иначе, вы достанете и поставите себе perl (если уже этого не сделали).    Так вот: у вас появится новая папочка "perl", но это вовсе не значит,    что все проги нужно помещать именно туда :) Perl, там сидящий, лишь исполняет    все ваши гениальные творения с расширением *.pl , а уж где они сами находятся    - одному юзеру известно :) (справедливо для пользователей windows с установленным    пакетом ActivePerl, т.к. он ассоциирует файлы *.pl).

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

#!/usr/bin/perl

Всё дело в том,    что язык этот создавался на базе ОС UNIX, а эту строку нам пытаются передать    в "наследство" от их операционки. Однако вам следует помнить, что    на сервере (если вы решите скинуть туда свои проги) может стоять и UNIX.

Теперь немного    о методе написания.    Советую вам для начала использовать простой блокнот, чтобы запомнить все команды    и синтаксис программирования. В дальнейшем, можно использовать какой нибудь    редактор, но это уже не спортивно:), и уж тем более нежелательно для тех,    кто только знакомится с этим языком программирования, да и программированием    вообще.

Практически все    руководства по этому языку начинаются с самой простой программы, которая выглядит    примерно так:

print    ("hello, WORLD!\n");

Некоторые из вас    уже, наверное, скопировали приведенную программу в свой файл и заметили, что    она быстренько открывается и также быстро закрывается. Это связанно с тем,    что программа есть программа, и после того как она выполнится - сразу же закроется,    поэтому добавьте к программе ещё одну строку с следующим содержанием:

<>;

В итоге всё это    примет следующий вид:

print    ("hello, WORLD!\n");    <>;    

... Не так уж    и просто выглядит для непосвященного... Даже немного пугающе... Но это только    для непосвященных, на самом деле всё - проще некуда! :) Не верится? Сейчас    докажу.    Во-первых, вам нужно узнать, что print - это команда, которая выводит информацию    на стандартный вывод STDOUT (STanDart OUT или, проще говоря - вывод на монитор).        Во-вторых, непонятность в виде \n - это переход на новую строку (newline),    но не программы, как могли бы испугаться некоторые, а информации на экране,    т.е. если бы вы продолжили бы текст, заключенный в кавычки, то после этого    символа он был бы напечатан с новой строки. А если вам понадобилось бы в самом    тексте использовать обратный слеш (шелс:), то перед ним надо поставить еще    один шелс. Например:

print "\a";  #Команда, после которой Perl
#выведет сигнал на SPICERprint "\\a"; #Perl просто выведет на экран \a

Затем хочу вас    обрадовать: скобки нафиг не нужны:) Их использование зависит целиком от вашего    настроения, хотя в мануалах говорят, что это якобы помогает выделить текст    в программе. В общем - кому как больше нравится...    Как вы уже наверно догадались - кавычки нужны для заключения в них текста,    так что осталось два непонятных пунктика. Но перед тем как остановится на    них, считаю необходимым объяснить вам какая бывает информация в Perl.    Фундаментальной единицей информации в Perl является скаляр (scalar), т.е.    отдельное значение, хранящееся в отдельной переменной.

$a = "hello,    world!"; #Присвоить переменной $a некий текст    $b = 777; #Присвоить переменной $b некое число

В этих переменных    хранятся строки, числа и ссылки. При этом необходимо понимать разницу между    числами как таковыми и числами, содержащимися в строке.

$abc    = "123"; #Число в строке    $123 = 123; #Число как таковое

Если вам нужно    для вычислений число, то просто не ставьте двойных кавычек.

Точка с запятой    в конце каждой строки - это собственно... конец строки, из чего следует, что    вы можете написать всю программу в одну строку, но нам что - строк жалко что    ли:) Из выше сказанного есть исключение: знак # говорит о том, что всё, что    есть в строке после него - это комментарий, и к программе уже не относится.    Знак ромб <> - это по умолчанию или, говоря понятным языком    - стандартный ввод с монитора (разъясняю: на мониторе появляется запрос, а    вводите вы конечно же через клаву. Потом нажимаете ентер и введенное значение    уже в переменной Perl, если она была задана). Вся хитрость добавления этого    ромба в нашем случае в том, что он будет запрашивать у вас этот ввод, пока    вы не нажмете кнопку "enter", а так как в программе не указанно,    что делать с этим вводом, то perl о нём просто забудет и станет считать нашу    программку завершенной. И врезультате выполнения этой программы мы с вами    увидим на своих мониторах текст Hello, world! .

Теперь немного    усложним нашу программку:

print "enter    your name: ";    $name = <>;    print "hello $name!";    <>;

Вам следует уяснить,    что программы выполняются построчно, т.е. сначала первая строка, после неё    вторая и т.д..

Итак, в первой    строке мы выводим предложение ввести имя пользователя. Во второй строке мы    его считываем в переменную $name. $name - это, как уже говорилось, скалярная    переменная Perl, которая начинается знаком доллара. Забегая вперёд, скажу    вам, что кроме переменных, начинающихся с доллара, бывают также массивы (@массив),    хэши (%хеш), и ещё несколько видов, о которых пока рано рассказывать. Между    переменной и ромбом стоит равенство, это значит, что мы присваиваем переменной    результат запроса. В третьей строке мы выводим слово hello, а после него выводим    то, что хранилось в переменной $name. В нашем случае это имя, которое мы просили    ввести.

Сделаем ещё одно    отвлечение, в котором я расскажу вам, что можно делать с переменными... С    ними можно делать ВСЁ! И это не преувеличение. Например, возможно такое:

$a    = 3;    $b = 4;    $c = $a+$b; #Сложить две переменные и    #присвоить их третьей    print $c; # Вывести получившееся число    print $a+$b; # тоже самое, только без    # привлечения третьей переменной

Надеюсь с этим    всё понятно... А пока до некоторых доходит, мы напишем программку, которая    выполняет команды ДОС dir. Для тех кто не знает - dir - команда выводящая    на экран содержимое директории в которой вы находитесь.

$dos = `dir`;    print $dos;    <>;

Эта программка    считывает в переменную $dos результат выполнения команды dir, которая заключена    в обратные кавычки, (если бы это были простые кавычки, то получилась бы не    команда, а просто слово) после чего выводит на монитор этот самый результат.

Теперь так сказать    вернёмся к нашим баранам, вернее пока лишь к барашкам:) Мы научились выводить    на экран необходимый нам текст, получать информацию от пользователя, а так    же узнали, что ДОС команды в обратных кавычках будут выполняться как ДОС команды:)    Самое время написать программку, которая будет запрашивать не что иное, как    эти самые команды

print    "enter comand: ";    chmod($com = <>);    print `$com`;    <>;

Из соображений    безопасности крайне не рекомендую вводить команду FORMAT, догадайтесь почему:)    Из новшеств нужно выделить появление команды chmod(). Эта команда убирает    из информации, которую мы получаем в запросе знак новой строки \n, который    есть там по умолчанию. То, что находится во второй строке - это сокращенная    запись двух строк:

$com    = <>; #Считать в $com    chmod ($com); #Убрать всё лишнее

Выгадываем мы    этим всего несколько символов, но ведь всё равно приятно:)

На    этом считаю, что первые шаги вы прошли и готовы продолжить тернистый путь    изучения Perl.

Дмитрий Червинский
http://perlbook.nm.ru/

Спонсор раздела

Рассылки Subscribe.ru:

Библиотека сайтостроительства - новости, статьи, обзоры
Дискуссионный лист для web-разработчиков
Подписка на MailList.Ru
Автор: NunDesign
Другие разделы
Оптимизация сайтов
Web-студии
» Новое в разделе
Web-дизайн
Web-программирование
Интернет-реклама
Раскрутка сайта
Web-графика
Flash
Adobe Photoshop
Рассылка
Инструменты вебмастера
Контент для сайта
HTML/DHTML
Управление web-проектами
CSS
I2R-Журналы
I2R Business
I2R Web Creation
I2R Computer
рассылки библиотеки +
И2Р Программы
Всё о Windows
Программирование
Софт
Мир Linux
Галерея Попова
Каталог I2R
Партнеры
Amicus Studio
NunDesign
Горящие путевки, идеи путешествийMegaTIS.Ru

2000-2008 г.   
Все авторские права соблюдены.
Rambler's Top100