Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Perl: Общие вопросы > Perl не могу понять своих ошибок |
Автор: TikiTak 8.4.2012, 09:39 | ||
почему не работает |
Автор: alezzz 8.4.2012, 10:54 |
что в site_proxy.txt? |
Автор: TikiTak 8.4.2012, 10:56 | ||||
урлы сайтов в каждой строке новый урл
|
Автор: alezzz 8.4.2012, 11:00 |
если несколько урлов то нужен цикл, так как сейчас составлена программа должно работать для первого урла |
Автор: TikiTak 8.4.2012, 11:06 |
я понимаю что нужен цикл но и с циклом не работает это я без цикла показал так как и в самом деле должно работать для первой ссылки но дело в том что не работает вот такая вот ошибка :( почему не понятно Use of uninitialized value $page in print at C:\perlscript\script.pl line 9, <MYFILE> line 1. |
Автор: alezzz 8.4.2012, 11:18 | ||
упростите программу:
если не работает, проверяйте подключение к интернет, настройки файрвола. |
Автор: TikiTak 8.4.2012, 11:25 |
в том то и прикол что при упрошении программы все работает последний код прекрасно работает |
Автор: TikiTak 8.4.2012, 13:00 |
вопрос решен сайт который я пытался открыть часто падал но когда я открывал в браузере он открывался зараза |
Автор: Pfailed 8.4.2012, 14:26 |
После $url=<MYFILE>; желательно делать $url =~ s/\s+$//;, чтобы убрать перенос строки если он есть. |
Автор: krypt3r 9.4.2012, 08:51 | ||
chomp() |
Автор: Pfailed 9.4.2012, 11:23 |
krypt3r, chomp() удаляет с конца строки содержимое $/, т.е. по умолчанию "\n". А в Windows, например, строки принято разделять комбинацией "\r\n". perldoc -f chomp |
Автор: krypt3r 11.4.2012, 06:39 |
Pfailed, perldoc perlport, ключевое слово "Newlines" |
Автор: Pfailed 11.4.2012, 11:03 |
krypt3r, chomp для кода ТС не сработает, как минимум, в следующем случае: скрипт запускается в Linux/BSD, файл имеет окончания строк "\r\n" Дабы не зависить от магических преобразований PerlIO в зависимости от платформы, я предпочитаю в таких случаях использовать оператор замены. |
Автор: krypt3r 12.4.2012, 05:58 |
Pfailed, ваше решение — это костыль. Правильное решение указано в мане — это chomp(). Указание :crlf при открытии файла или в прагме поможет в вашем последнем примере (кстати, сработает и для файлов с концами строки в стиле Unix). PS. В общем, закругляемся, это оффтопик, тем более ТС решил проблему. Каждый юзает perl по-своему ;) |