Вот, как и обещал, пишу статью о программировании на этом, бесспорно, прекрасном языке.
Алерт! Статья для новичков! Все кто уже потирает руки с желанием нагадить в комментах - валите отсюда сразу.
Говорить я буду о перле под виндовс - это чтобы небыло потом дальнейших пререканий и недоразумений.
Непосредственно перед тем как мы начнём мучать этот язык, советую скачать -
ActivePerl(12.7MB)
Интерпретатор Перл.(Именно интерпретатор, а не компилятор, как его ошибочно называют многие)
EmEditor (3.1 MB) (Редактор) В нём Вы будете находить свои ошибки (а ошибки есть у всех и всегда) куда быстрее, чем в блокноте.
И маленький совет от меня - Когда будете устанавливать ActivePerl - создайте на диске C директорию usr и уже в неё ставьте Perl.
-------------
Поскольку за один раз проглотить перл неполучится - буду писать примерно раз в две недели продолжение.
Ну вот собственно с вступлением покончено раз и навсегда. Обратного пути у Вас нет

. Вперёд!
---------------
Начало
Ну вот. Начинаем.
Перво-наперво напишем малюсенькую программку которая выведет надпись - "antichat - rulezzz4hax0rz".
Код:
#!/usr/bin/perl -w
print ("antichat - rulezzz4hax0rz\n");
Сохраняем это дело в файл с именем например antichat.pl
Открываем из cmd и смотрим на результат.
Теперь обьясню что мы только что сделали

Итак - первая строка говорит о том что это программа написана на перле и указывает путь к интерпретатору. Кроме того, как Вы наверное заметили здесь присутствует ключ -w. Этот ключ применяют для того что чтобы перл-интерпретатор предупреждал нас о заведомо опасных конструкциях программы. Вообщем на мой взгляд ничего существенного, но так лучше следить за качеством кода.
Вторая строка - это выполняемая часть нашей с Вами первой программы. Как видите здесь стоит функция print. В нашем случае print имеет только один аргумент - строку текста.
"\n" - означает переход на новую строку.
";" - Точка с запятой завершает оператор.
Теперь усложняем задачу - пишем прогу которая будет называть Вас по нику.
Наша прога сначала спросит ник, запишет его в переменную и выведет на экран.
Одно из мест для хранения значений (например текстовых) - скалярная переменная. Для хранения ника я возьму переменную $nick.
Получение данных осуществляется при помощи конструкции <STDIN>,
которая в нашем случае получит строку, которую мы в свою очередь присвоем переменной $nick.
Код:
#!usr/bin/perl -w
print "What is you nick-name?\n"; #Какой у тебя ник?
$nick = <STDIN>;
#Теперь нам осталось сказать "Привет" и указать значение переменной $nick
print "Hello,$nick!\n";
Упс... Забыл

Если Вы всё сделали правильно, то Ваш ник и восклицательный знак отбразились на разных строчках.
Сейчас исправим - Дело в том, что например ник "tclover" поступает как "tclover\n". Чтобы избавиться от этого
мы воспульзуемся функцией chomp, которая принимает скалярную переменную и удаляет из её строкового значения символ перехода на новую строку - "\n"
chomp ($nick);
Теперь у нас получилось что-то вроде этого -
Код:
#!usr/bin/perl -w
print "What is you nick-name?\n";
$nick = <STDIN>;
chomp ($nick);
print "Hello,$nick!\n";
Вот так уже значительно лучше

Теперь усложним ещё больше. Мы же любим себя? Любим конечно, глупый вопрос

Тогда сделаем так, чтобы для нас любимых привествие было особым.Добавляем операцию сравнения.
Код:
#!/usr/bin/perl -w
print "What is you nick-name?\n";
$nick = <STDIN>;
chomp ($nick);
if ($nick eq "tclover"){
print "Hello, tclover You - the Best!"; # Типа для нас
} else {
print "Hello, $nick \n"; # Типа для всех остальных
}
В операции eq мы сравнили две строки. Если они равны, то результатом будет "истина".
Оператор if выбирает, какой блок операторов (это те что между фигурными скобками) выполняется - если выражение даёт в результате "истина", то выполняется первый блок, ну а если "ложь" - то выполняется второй блок.
Ну и последнее на сегодня.
Рассмотрим ещё один код. У всех кто открыл это (кроме товарища по имени tclover), ЭТО будет просить
ввести пароль.
Код:
#!/usr/bin/perl -w
$pass = "antichat"; # Обьявляем пароль - пароль сегодня "antichat"
print "What is your name? \n";
$nick = <STDIN>;
chomp $nick;
if ($nick eq "tclover"){
print "Hello, tclover! You the Best! \n";
} else {
print "Hello $nick! \n";
print "What is the password? \n";
$vopros = <STDIN>;
chomp ($vopros);
while ($vopros ne $pass){
print "Nichrena, try again. What is the password? \n";
$vopros = <STDIN>;
chomp ($vopros);
}
}
Поясню. сначала мы задали секретное слово поместив его в переменную $pass. Прога спрашивает вызывая функцию принт у пользователя пароль и сравнивает с тем что у нас есть. Введённые данные сравниваются с тем что мы задали в операции ne. Эта операция возвращает значение "истина", если сравниваемые строки не равны. Заметьте отличие от операции eq. Далее мы задествовали цикл while, который ваполняется до тех пор пока сравнение проходит с результатом "истина".
Ну и в заключение первой части: Всё это я писал для тех, кто ничего не знает о языках программирования, но очень хочет. Перл на мой взгляд наиболее лёгкий для изучения язык.
Все
умники которые начнут кричать о ламероватости этой статьи могут идти по своему выбору либо
сюда
либо сразу в
/dev/null.
А те кто только начинают свой путь - удачи Вам в изучении этого языка. Как только найду время начну писать продолжение. Всем удачи!