вентиляторовWWW :: Механизируйте :: Firefox: отладка-попытку остановить печать() на неоткрытом дескрипторе
К сожалению для этого новичка вопроса, но я не могу найти на Google, что мне нужно знать. Я понимаю, печать, но не понимают этого ...
http://www.unifr.ch/sfm
print() on closed filehandle OUTPUT at test_3.pl line 20, <INPUT> line 2.
http://www.zug.phz.ch
увидеть много намного ниже ....
хорошо - Что это значит?
Большое спасибо за терпение.
, чтобы начать с начала: ну, я запустил этот скрипт, который написан, чтобы сделать несколько скриншотов веб-сайтов. У меня также есть и работает mozrepl здесь у нас есть файл с некоторыми запрошенными URL-адресами ... обратите внимание, что это только короткий фрагмент реального списка - реальный список намного длиннее. она содержит более 3500 строк и URL-
http://www.unifr.ch/sfm
http://www.zug.phz.ch
http://www.schwyz.phz.ch
http://www.luzern.phz.ch
http://www.schwyz.phz.ch
http://www.phvs.ch
http://www.phtg.ch
http://www.phsg.ch
http://www.phsh.ch
http://www.phr.ch
http://www.hepfr.ch/
http://www.phbern.ch
http://www.ph-solothurn.ch
http://www.pfh-gr.ch
http://www.ma-shp.luzern.phz.ch
http://www.heilpaedagogik.phbern.ch/
Что странное выход - см ниже ... вопроса: должен ли я сделать изменить сценарий
почему я Г.Е. выход со следующим небольшим скриптом :
/USR/бен/Perl
use strict;
use warnings;
use WWW::Mechanize::Firefox;
my $mech = new WWW::Mechanize::Firefox();
open(INPUT, "<urls.txt") or die $!;
while (<INPUT>) {
chomp;
print "$_\n";
$mech->get($_);
my $png = $mech->content_as_png();
my $name = "$_";
$name =~s/^www\.//;
$name .= ".png";
open(OUTPUT, ">$name");
print OUTPUT $png;
sleep (5);
}
посмотреть здесь хорошо подавляющий выход - быть откровенным я никогда не thught получить такой смешной нУ tput .. у меня есть для отладки весь код .... смотрите ниже,
http://www.unifr.ch/sfm
print() on closed filehandle OUTPUT at test_3.pl line 20, <INPUT> line 2.
http://www.zug.phz.ch
print() on closed filehandle OUTPUT at test_3.pl line 20, <INPUT> line 3.
http://www.schwyz.phz.ch
print() on closed filehandle OUTPUT at test_3.pl line 20, <INPUT> line 4.
http://www.luzern.phz.ch
print() on closed filehandle OUTPUT at test_3.pl line 20, <INPUT> line 5.
http://www.schwyz.phz.ch
print() on closed filehandle OUTPUT at test_3.pl line 20, <INPUT> line 6.
http://www.phvs.ch
print() on closed filehandle OUTPUT at test_3.pl line 20, <INPUT> line 7.
http://www.phtg.ch
print() on closed filehandle OUTPUT at test_3.pl line 20, <INPUT> line 8.
http://www.phsg.ch
print() on closed filehandle OUTPUT at test_3.pl line 20, <INPUT> line 9.
http://www.phsh.ch
print() on closed filehandle OUTPUT at test_3.pl line 20, <INPUT> line 10.
http://www.phr.ch
print() on closed filehandle OUTPUT at test_3.pl line 20, <INPUT> line 11.
http://www.hepfr.ch/
print() on closed filehandle OUTPUT at test_3.pl line 20, <INPUT> line 12.
http://www.phbern.ch
хорошо я попробовал много, чтобы получить ошибки избавиться
некоторые размышления Ну -Во-первых, я думаю, что это не очень серьезная ошибка - я думаю, что мне нужно ее отладить, и тогда она будет работать лучше. Во-вторых, я сначала подумал, что сценарий казался «перегружать машину»? Теперь я не очень уверен в этом: симптомы выглядят странно, но я думаю, что нет необходимости заключать «перегрузку машины». В-третьих, я думаю, что некоторые шаги необходимо предпринять для обеспечения того, чтобы проблема вообще связана с WWW :: Mechanize :: Firefox вообще? Это приводит меня к тому, что означает предупреждение Perl и идея использовать диагностическую прагму, чтобы получить больше объяснений: что вы думаете?
print() on unopened filehandle FH at -e line 1 (#2) (W unopened) An I/O operation was attempted on a filehandle that w +as never initialized.
Ну - нам нужно сделать открытой(), а SysOpen(), или так + cket() вызов, или вызвать конструктор из пакета FileHandle
хорошо - в качестве альтернативы, печать () на закрытом дескрипторе файла OUTPUT также дает много ответов, которые скажут нам, что мы не использовали autodie, а также не проверяли возвращаемое значение open. Мне нужно отладить его и не забудьте найти, где ошибка вступает в игру
Извините за этот вопрос новичку, но я не могу найти в google то, что мне нужно знать. Я понимаю, печать, но не понимаю этого ...