Forum Webscript.Ru

Программирование => Perl => Тема начата: ZORRO от 11 Сентября 2002, 07:48:29

Название: Error
Отправлено: ZORRO от 11 Сентября 2002, 07:48:29
#!/usr/bin/perl
print "Content-type: text/html\\n\\n";

use CGI qw(:standard);

$namber=0;

print "






Клуб. Форум.





 
   
 

     
       
     
     
       
     
   

         
           
           
         
       
DELPHI CITY KLUB

       

         
           
           
         
       
Регистрация
            | Новости |             href=\'http://delphicity.hoha.ru/cgi-bin/klub/forum/\'>Форум |             href=\'http://delphicity.hoha.ru/cgi-bin/klub/chat/\'>Чат |             href=\'http://delphicity.hoha.ru/cgi-bin/klub/users/\'>Личная страница |             href=\'http://delphicity.hoha.ru/cgi-bin/klub/project/\'>Совместные проэкты |             href=\'http://delphicity.hoha.ru/cgi-bin/klub/users/vhod.html\'>Вход\\Выход
Назад,
            на сайт DELPHI CITY

       

   



 
   
 
 
   
   
 
Клуб > Форум
    height=\'46\' alt=\'Delphi_city.gif (3118 bytes)\'>



 
   
 

     
       
     
     
        u8y
     
   
Здесь проходят обсуждения
        на разные темы.

Форум


       

Добро пожаловать на форум. Задавайте свои
        вопросы, общайтесь и наслаждайтесь!


       

>> Добавить новую тему


       

         
           
           
           
           
         
";
open (FILE, "while ($line=) {
$namber++;

open (NFILE, "@nlist=;
print $nlist[0];
print $nlist[2];
print $nlist[1];
close(NFILE):

if ($namber == 20) {
close(FILE);
}
}
close(FILE);
print "
         

           
           
           
           
         
       
            style=\'border: 1px solid rgb(0,0,0)\'>вТема            align=\'center\'>Автор            align=\'center\'>Ответов            color=\'#003871\'>вДата
            style=\'border: 1px solid rgb(0,0,0)\'>вТема            align=\'center\'>Автор            align=\'center\'>Ответов            color=\'#003871\'>вДата

       

>> Добавить новую
        тему


       

Весь каталог


   



";
exit;


В чём ошибка? Выдаёт 500 ошибку !
Название: Error
Отправлено: Serchey от 11 Сентября 2002, 13:10:40
Ну ты чудной!
Цитировать
>>...%20tema\'
Знаешь как понимает это перл!? - две подпрограммы и один хеш. А нуна так:
Цитировать
\\>\\>...\\%20tema\'
Название: Error
Отправлено: YA от 11 Сентября 2002, 15:04:30
Для таких случаев пиши не
print "...", а
print qq|...|. Внутри сможешь свободно использовать любые кавычки и символы типа &.
Название: Error
Отправлено: Serchey от 11 Сентября 2002, 15:16:43
YA, на счет кавычек - ты прав, но насчет @,$,%,& - проблема остаестя. Другое дело -
print q{serchey@web-arts.com.ua};
выдаст то что нужно.
Название: Error
Отправлено: YA от 11 Сентября 2002, 22:56:54
Serchey,
Я обычно сознательно использую qq, а не q - чтобы работала интерполяция скалярных переменных.
С @ могут возникнуть проблемы, а вот % будет не разыменовывающим префиксом, а обычным символом.
А какая может быть проблема с &? Внутри qq|| этот символ будет самим собой, никакого поиска подпрограммы не будет.
Название: Error
Отправлено: Ленивый гость от 11 Сентября 2002, 23:42:56
В 199 строке
close(NFILE):
а надо
close(NFILE);
точка с запятой
Название: Error
Отправлено: Serchey от 11 Сентября 2002, 23:46:15
YA, может я и ошибся - но всеравно лучше так не делать.
Ленивый гость, а почему не Зоркий глаз? ;)
Название: Error
Отправлено: YA от 12 Сентября 2002, 00:40:18
Цитировать
лучше так не делать
Ты о чем???
Оператор qq// предоставляет интерполирующий контекст. Описанное выше использование данного оператора - это использование его по назначению. Замечу также, что злоупотребление экранирующими "\\" считается не то чтобы некорректным, но стилем наинающего программиста.

PS. А почему я пишу qq||, а не qq//, думаю понятно: чтобы внутри можно было свободно использовать "/" (HTML).
Название: Error
Отправлено: SteelRat от 12 Сентября 2002, 01:47:33
Надо в начале скрипта писать:
use CGI::Carp qw(fatalsToBrowser);
И преспокойно вместо пятисотой ошибки получать ссылку на строку с ошибкой и примерное место в ней.
Название: Error
Отправлено: Serchey от 12 Сентября 2002, 18:43:29
YA , что ты мне голову морочишь - qq|| работает аналогично "", с той лишь разницей, что перед кавычками не надо ставить слеш.
Цитировать
С @ могут возникнуть проблемы
- ну ты выдал! Конечно, не возникнут - высветит весь массив, и вего!.. А что касается хеши - и там и там одинаковый результат.
Название: Error
Отправлено: YA от 12 Сентября 2002, 22:37:53
Цитировать
что ты мне голову морочишь
Я всего лишь отвечаю на бессмысленное заявление:
Цитировать
всеравно лучше так не делать

Цитировать
с той лишь разницей, что перед кавычками не надо ставить слеш
С "лишь" не согласен, это очень важная разница.
Цитировать
Конечно, не возникнут - высветит весь массив, и вего
Вроде, видел какой-то спецэффект с @, но не могу вспомнить. Ладно, забудь про это, я мог чего-то перепутать :)
Цитировать
А что касается хеши - и там и там одинаковый результат
Разве я сказал что-то другое?
Название: Error
Отправлено: NeoNox от 13 Сентября 2002, 11:18:33
moderator:
Заканчиваем с офтопиком.
Обсуждайте все вопросы не относящиеся к теме в личной переписке.