Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > Perl
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.04.2010, 19:05   #1
Никки
Форумчанин Подтвердите свой е-майл
 
Аватар для Никки
 
Регистрация: 20.11.2007
Сообщений: 500
Вопрос Perl/CGI проблема с условиями

Необходимо написать маленький CGI скрипт на Perl и не получается сделать самое простое...

PHP код:
#!/usr/bin/perl
print "Content-Type: text/html\n\n";
use 
CGI qw(:standard);

$info param('info');

if (
$info == 'world'
{
    
$a=1;

if (
$info == 'world2')

    
$a=2
}
print 
$a
И что бы я не передавал скрипту в переменной info на экран выводится всегда 2. Что я делаю не так? Или в Perl есть какой то секрет? Я первый раз использую этот язык.

И не плохо было бы заиметь какой нибудь справочник функций по языку...
Никки вне форума Ответить с цитированием
Старый 12.04.2010, 14:09   #2
mv28jam
Старожил
 
Аватар для mv28jam
 
Регистрация: 09.09.2008
Сообщений: 2,714
По умолчанию

http://www.cs.tut.fi/~jkorpela/perl/cgi.html
Стрелок-охотник
mv28jam вне форума Ответить с цитированием
Старый 12.04.2010, 21:11   #3
Никки
Форумчанин Подтвердите свой е-майл
 
Аватар для Никки
 
Регистрация: 20.11.2007
Сообщений: 500
По умолчанию

Цитата:
Сообщение от mv28jam Посмотреть сообщение
Я всё равно не понимаю что у меня не так. В примере который вы дали вообще нет в операторах условия сравнения одних значений с другими...
Никки вне форума Ответить с цитированием
Старый 13.04.2010, 01:00   #4
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

А если поставить точку с запятой после первого if и после $a=2 и скобки?
motorway вне форума Ответить с цитированием
Старый 13.04.2010, 22:16   #5
Никки
Форумчанин Подтвердите свой е-майл
 
Аватар для Никки
 
Регистрация: 20.11.2007
Сообщений: 500
По умолчанию

После $a=2 ; действительно можно поставить, а вот после } ; не нужна

Но вопроса это не решает. Код не работает.

Не ужели нет людей кто знает как пишутся такие условия?? Это же элементарщина для тех кто знает perl.
Никки вне форума Ответить с цитированием
Старый 14.04.2010, 06:45   #6
Никки
Форумчанин Подтвердите свой е-майл
 
Аватар для Никки
 
Регистрация: 20.11.2007
Сообщений: 500
По умолчанию

Кароче, сам разобрался, оказывается, в этом замечательном языке сравнение строк выполняется не оператором ==, а оператором eq

Код:
#!/usr/bin/perl
print "Content-Type: text/html\n\n";
use CGI qw(:standard);

$info = param('info');

if ($info eq 'world') 
{
    $a=1;
} 
if ($info eq 'world2')
{ 
    $a=2
}
print $a;
Никто, никогда, не делайте таких глупых ошибок!
Никки вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Формула со многими условиями KlerKK Microsoft Office Excel 2 10.12.2009 04:33
Счет ячеек с условиями по дням ru3000 Microsoft Office Excel 2 28.10.2009 23:08
Компоновка со сложными условиями A-ton Microsoft Office Excel 2 28.08.2009 07:02
не могу разобраться с условиями if Rebel123 Общие вопросы Delphi 5 15.08.2009 20:20