Ishtar:/Torrents/home/law/info/images> crawl.pl Loop... No more pages 0 pages parsed in 4.21 seconds 0 items from cache, 1 new pages fetched, 1 new items fetched. 0 pages in Page queue, 0 items in requisite queue Ishtar:/Torrents/home/law/info/images> crawl.pl Loop... Start Dump: Modification of a read-only value attempted at /Torrents/home/law/bin/crawl.pl line 1729. Close with partial character at /Torrents/home/law/bin/crawl.pl line 790. #### #line 33 sub partial_string($$) { my ($string,$maxlen) = @_; my $len=$string?length $string:0; my $remainder=sprintf "..(%d more chars)...", $len - $maxlen; sprintf "%.*s%s",$maxlen,$string//"",$len>$maxlen ? $remainder:""; } #line 40 ... #line 1159 sub _get_Nth_framep { $_=$_[0]->{Parseable_PerTag_Space}; $_->[$_[1]]; } #line 1163 .... #line 1708 (tabs should display @ 2 spaces for best readability) sub dumpfromstart { #line 1709 if ($fault) { $SIG{__WARN__} = $SIG{__DIE__} = undef; confess "Double Fault\n"; } lock $fault; ++$fault; print "Start Dump:\n"; #line 1717 #truncate excessive output foreach my $pg ($page, $startpage) { last unless $pg; $pg->{content} = partial_string($pg->{content},32) if $pg && $startpage->{content}; $pg->{tagprint} = []; for (my $i=0; $i <= $#{$pg->{Parseable_PerTag_Space}}; ++$i) { alias my ($open_tag, $tag_output) = $pg->_get_Nth_framep($i); #line 1726 $tag_output = partial_string($tag_output,32) if $tag_output; #line 1727 } } my $d; if ($page and $startpage != $page) { $d = Data::Dumper->new([ $startpage, $page ], [qw(startpage page)]); } else { $d = Data::Dumper->new([ $startpage, $PageQueue::PageQueue ], [ 'startpage', ]); } print $d->Dump; --$fault; } #### if ($Devel) { $SIG{__WARN__} = $SIG{__DIE__} = sub { $Carp::CarpLevel = 1 if defined $^S && !$^S; $SIG{__WARN__} = $SIG{__DIE__} = undef; &dumpfromstart if defined $^S; confess $_[0] if defined $^S; die "exiting\n"; } }