Автор Тема: Error  (Прочитано 4376 раз)

0 Пользователей и 1 Гость просматривают эту тему.

ZORRO

  • Гость
Error
« : 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

       

         
           
           
         
       
http://delphicity.hoha.ru/cgi-bin/klub/register.html\'>Регистрация
            | http://delphicity.hoha.ru/cgi-bin/klub/news.html\'>Новости |             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\'>Вход\\Выход
http://delphicity.hoha.ru/\'>Назад,
            на сайт DELPHI CITY

       

   



 
   
 
 
   
   
 
Клуб > Форум
http://delphicity.hoha.ru/Delphi_city.gif\' width=\'255\'
    height=\'46\' alt=\'Delphi_city.gif (3118 bytes)\'>



 
   
 

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

Форум


       

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


       

>> http://new%20tema\'>Добавить новую тему


       

         
           
           
           
           
         
";
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\'>вДата

       

>> http://new%20tema\'>Добавить новую
        тему


       

Весь каталог


   



";
exit;


В чём ошибка? Выдаёт 500 ошибку !

Оффлайн Serchey

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 216
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.rivne.ukrtelecom.ua
Error
« Ответ #1 : 11 Сентября 2002, 13:10:40 »
Ну ты чудной!
Цитировать
>>...%20tema\'
Знаешь как понимает это перл!? - две подпрограммы и один хеш. А нуна так:
Цитировать
\\>\\>...\\%20tema\'

Оффлайн YA

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 597
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Error
« Ответ #2 : 11 Сентября 2002, 15:04:30 »
Для таких случаев пиши не
print "...", а
print qq|...|. Внутри сможешь свободно использовать любые кавычки и символы типа &.
Литературный перевод с русского и английского на Perl. Дорого!

Оффлайн Serchey

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 216
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.rivne.ukrtelecom.ua
Error
« Ответ #3 : 11 Сентября 2002, 15:16:43 »
YA, на счет кавычек - ты прав, но насчет @,$,%,& - проблема остаестя. Другое дело -
print q{serchey@web-arts.com.ua};
выдаст то что нужно.

Оффлайн YA

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 597
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Error
« Ответ #4 : 11 Сентября 2002, 22:56:54 »
Serchey,
Я обычно сознательно использую qq, а не q - чтобы работала интерполяция скалярных переменных.
С @ могут возникнуть проблемы, а вот % будет не разыменовывающим префиксом, а обычным символом.
А какая может быть проблема с &? Внутри qq|| этот символ будет самим собой, никакого поиска подпрограммы не будет.
Литературный перевод с русского и английского на Perl. Дорого!

Ленивый гость

  • Гость
Error
« Ответ #5 : 11 Сентября 2002, 23:42:56 »
В 199 строке
close(NFILE):
а надо
close(NFILE);
точка с запятой

Оффлайн Serchey

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 216
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.rivne.ukrtelecom.ua
Error
« Ответ #6 : 11 Сентября 2002, 23:46:15 »
YA, может я и ошибся - но всеравно лучше так не делать.
Ленивый гость, а почему не Зоркий глаз? ;)

Оффлайн YA

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 597
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Error
« Ответ #7 : 12 Сентября 2002, 00:40:18 »
Цитировать
лучше так не делать
Ты о чем???
Оператор qq// предоставляет интерполирующий контекст. Описанное выше использование данного оператора - это использование его по назначению. Замечу также, что злоупотребление экранирующими "\\" считается не то чтобы некорректным, но стилем наинающего программиста.

PS. А почему я пишу qq||, а не qq//, думаю понятно: чтобы внутри можно было свободно использовать "/" (HTML).
Литературный перевод с русского и английского на Perl. Дорого!

Оффлайн SteelRat

  • Funk U!
  • Старожил
  • ****
  • Сообщений: 290
  • +0/-0
  • 2
    • Просмотр профиля
    • http://thewebfactory.fatal.ru
Error
« Ответ #8 : 12 Сентября 2002, 01:47:33 »
Надо в начале скрипта писать:
use CGI::Carp qw(fatalsToBrowser);
И преспокойно вместо пятисотой ошибки получать ссылку на строку с ошибкой и примерное место в ней.
Debian/GNU Linux is rulezz...

Оффлайн Serchey

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 216
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.rivne.ukrtelecom.ua
Error
« Ответ #9 : 12 Сентября 2002, 18:43:29 »
YA , что ты мне голову морочишь - qq|| работает аналогично "", с той лишь разницей, что перед кавычками не надо ставить слеш.
Цитировать
С @ могут возникнуть проблемы
- ну ты выдал! Конечно, не возникнут - высветит весь массив, и вего!.. А что касается хеши - и там и там одинаковый результат.

Оффлайн YA

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 597
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Error
« Ответ #10 : 12 Сентября 2002, 22:37:53 »
Цитировать
что ты мне голову морочишь
Я всего лишь отвечаю на бессмысленное заявление:
Цитировать
всеравно лучше так не делать

Цитировать
с той лишь разницей, что перед кавычками не надо ставить слеш
С "лишь" не согласен, это очень важная разница.
Цитировать
Конечно, не возникнут - высветит весь массив, и вего
Вроде, видел какой-то спецэффект с @, но не могу вспомнить. Ладно, забудь про это, я мог чего-то перепутать :)
Цитировать
А что касается хеши - и там и там одинаковый результат
Разве я сказал что-то другое?
Литературный перевод с русского и английского на Perl. Дорого!

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Error
« Ответ #11 : 13 Сентября 2002, 11:18:33 »
moderator:
Заканчиваем с офтопиком.
Обсуждайте все вопросы не относящиеся к теме в личной переписке.
The documentations is your friend

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28