П О Р Т А Л                            
С Е Т Е В Ы Х                          
П Р О Е К Т О В                        
  
                                                 
Главная

О проекте

Web-мастеру
     HTML & JavaScript
     SSI
     Perl
     PHP
     XML & XSLT
     Unix Shell

MySQL

Безопасность

Хостинг

Другое







Самое читаемое:

Учебник PHP - "Для Чайника".
Просмотров 91339 раз(а).

Иллюстрированный самоучитель по созданию сайтов.
Просмотров 28088 раз(а).

Учебник HTML.
Просмотров 54551 раз(а).

Руководство по PHP5.
Просмотров 25010 раз(а).

Хостинг через призму DNS.
Просмотров 29296 раз(а).

Подборка текстов стандартных документов.
Просмотров 28062 раз(а).

Учебник PHP - Самоучитель
Просмотров 32325 раз(а).

Документация на MySQL (учебник & справочное руководство)
Просмотров 34059 раз(а).

Внешние атаки...
Просмотров 26054 раз(а).

Учебник PHP.
Просмотров 21961 раз(а).

SSI в примерах.
Просмотров 17278 раз(а).



 
 



Глава 1: Введение.
1.5. Прогулка по стране Perl
1.5.3. Секретное слово

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

#! /usr/bin/perl -w

$secretword = "llama"; # секретное слово 
print "What is your name? ";
$name = <STDIN>;
chomp $name;

if ($name eq "Randal") {
  print "Hello, Randal! How good of you to be here!\n";
}

else {
  print "Hello, $name ' \n"; # обычное приветствие 
  print "What is the secret word? "; 
  $guess = <STDIN>;
  chomp($guess);

  while ($guess ne $secretword) {
    print "Wrong, try again. What is the secret worcl.•' '• ;
    $guess = <STDIN>; 
    chomp($guess);

Сначала мы задаем секретное слово, помещая его в скалярную переменную $secretword. После приветствия программа спрашивает (посредством вызова еще одной функции print) у пользователя (не Рэндала) его вариант секретного слова. Этот вариант сравнивается с заданным секретным словом в операции ne. Данная операция возвращает значение "истина", если сравниваемые строки не равны (т.е. данная операция противоположна операции eq). Результат сравнения управляет циклом while, который выполняет этот блок операторов до тех пор, пока сравнение дает значение "истина".

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

Назад | Вперед
Содержание (общее) | Содержание раздела | Содержание подраздела



 





Copyright © 2005-2011 Project.Net.Ru