| line | !l | l&&!r | l&&r | condition | 
 
| 149 | 0 | 1 | 6 | $self->is_html and $self->document | 
 
| 152 | 4 | 0 | 2 | exists $parms{'format'} and $parms{'format'} eq 'text' | 
 
| 177 | 0 | 1 | 15 | $link and $link->tag =~ /^a/ | 
 
| 235 | 0 | 2 | 7 | $meth eq 'GET' and $new_uri->eq($self->uri) | 
 
| 278 | 219 | 0 | 1 | $abs =~ /^data:#/i and $abs ne $uri | 
 
|  | 219 | 0 | 1 | $abs =~ /^data:#/i and $abs ne $uri and $uri =~ /^#/ | 
 
| 323 | 17 | 15 | 391 | !defined($self->{'Scripter_dumb'}) || $self->{'Scripter_dumb'} and $self->is_html | 
 
| 498 | 0 | 0 | 0 | $scriptable{$self} and %{$script_handlers{$self};} | 
 
| 517 | 2 | 3 | 2 | $1 eq 'nput' and $target->type ne 'image' | 
 
| 622 | 121 | 5 | 40 | exists $link_tags{$tag} and defined $_->attr($link_tags{$tag}) | 
 
| 677 | 171 | 87 | 29 | $base eq 'about:blank' and (my $parent = $self->parent) != $self | 
 
| 697 | 0 | 0 | 0 | $button and $_->name ne $button | 
 
| 702 | 2 | 0 | 0 | $button and not $input | 
 
| 857 | 4 | 7 | 14 | defined $url and CORE::length $url | 
 
| 991 | 1 | 26 | 0 | ($jh ||= $self->_handler_for_lang('JavaScript')) && $jh->eval($self, $_->[1]) | 
 
|  | 83 | 2 | 0 | $@ && $self->warn($@) | 
 
| 1029 | 2 | 23 | 0 | $self->count_timers > $min and !$args{'max_wait'} || &WWW::Scripter::time() - $start_time < $args{'max_wait'} | 
 
| 1049 | 39 | 0 | 10 | not CORE::length $name and my $doc = $self->document | 
 
| 1097 | 3 | 1 | 4 | $named->{$name} && ${$$named{$name};}->window_group | 
 
| 1189 | 1 | 1 | 2 | $po and defined &blessed($po) | 
 
|  | 2 | 1 | 1 | $po and defined &blessed($po) and $po->can('clone') | 
 
| 1442 | 107 | 6 | 10 | $max and @$self > $max | 
 
| 1459 | 33 | 9 | 501 | exists $res{$refaddr} and not $seen{$refaddr}++ | 
 
| 1672 | 1 | 0 | 2 | not defined $old and defined wantarray | 
 
| 1689 | 0 | 0 | 10 | not defined $old and defined wantarray | 
| line | l | !l | condition | 
 
| 145 | 35 | 0 | (shift())->document || (return) | 
 
| 301 | 408 | 15 | $res->content_type || '' | 
 
| 437 | 7 | 0 | $cs || $elem->charset || $tree->charset || 'latin1' | 
 
| 447 | 9 | 1 | $elem->firstChild || (return) | 
 
| 551 | 133 | 213 | $cs || 'iso-8859-1' | 
 
| 676 | 287 | 12 | $self->document || (return $self->SUPER::base(@_)) | 
 
| 719 | 0 | 0 | $continue || (return) | 
 
| 814 | 0 | 1 | $scrn{$self} ||= bless(\my $foo, 'WWW::Scripter::Screen') | 
 
| 826 | 7 | 8 | $timeouts{$doc} ||= [] | 
 
| 842 | 4 | 1 | $timers{$doc} ||= [] | 
 
| 911 | 186 | 2 | $doc or '' | 
 
| 980 | 85 | 35 | $$timers{$self->document} || (next) | 
 
| 1026 | 1 | 2 | $args{'interval'} || 0.1 | 
 
| 1027 | 1 | 2 | $args{'min_timers'} || 0 | 
 
| 1092 | 5 | 3 | ($self->{'Scripter_n'} ||= &fieldhash({}))->{$self->response} ||= {} | 
 
| 1154 | 12 | 2 | $self->{'plugins'} ||= {} | 
 
| 1173 | 5 | 0 | $self->{'plugins'}{$plugin} || 1 | 
 
| 1208 | 6 | 0 | $self->document || (last) | 
 
| 1427 | 2 | 0 | $self->[$_][1] || 0 | 
 
| 1431 | 1 | 3 | $to_delete || 0 | 
 
| 1871 | 7 | 0 | (shift())->SUPER::FETCH(@_) || (return) | 
| line | l | !l&&r | !l&&!r | condition | 
 
| 200 | 12 | 1 | 0 | $self->find_target($dom_link->target) || $self | 
 
| 230 | 0 | 9 | 0 | $new_uri ||= $orig_uri->clone | 
 
| 256 | 237 | 0 | 0 | $meth eq 'GET' or $meth eq 'POST' | 
 
| 323 | 406 | 0 | 17 | !defined($self->{'Scripter_dumb'}) || $self->{'Scripter_dumb'} | 
 
| 340 | 9 | 7 | 0 | $self->{'Scripter_f'} ||= do {
	(my $clone = $self->clone->clear_history(1))->dom_enabled(0);
$clone->max_history(1);
$clone
} | 
 
| 379 | 4 | 1 | 0 | $self->find_target($link->target) || $self | 
 
| 384 | 2 | 0 | 0 | $self->find_target($form->target) || $self | 
 
| 569 | 0 | 7 | 339 | $self->{'form'} ||= $self->{'forms'}[0] | 
 
| 587 | 27 | 0 | 3 | $script_handlers{$self}{'default'} || () | 
 
| 622 | 32 | 8 | 0 | $tag ne 'meta' or lc $_->attr('http-equiv') eq 'refresh' | 
 
| 664 | 3 | 0 | 0 | $_[0]->find_target($form->target) || $_[0] | 
 
| 727 | 1 | 0 | 0 | $self->find_target($form->target) || $self | 
 
| 786 | 0 | 0 | 0 | $self->{'Scripter_confirm'} || $self->die('There is no default confirm function') | 
 
| 792 | 0 | 0 | 0 | $self->{'Scripter_prompt'} || $self->die('There is no default prompt function') | 
 
| 799 | 236 | 134 | 0 | $self->{'Scripter_loc'} ||= 'WWW::Scripter::Location'->new($self) | 
 
| 808 | 0 | 3 | 0 | $navi{$self} ||= 'WWW::Scripter::Navigator'->new($self) | 
 
| 862 | 10 | 4 | 0 | $target ||= $self->top | 
 
| 911 | 139 | 49 | 0 | $frames{$doc or ''} ||= 'WWW::Scripter::Frames'->new($_[0], $doc) | 
 
| 991 | 43 | 0 | 42 | &reftype($_->[1]) eq 'CODE' || exists $INC{'overload.pm'} && defined &blessed($_->[1]) && overload::Method($_->[1], '&{}') | 
 
| 1020 | 32 | 0 | 4 | $count || () | 
 
| 1029 | 2 | 20 | 1 | !$args{'max_wait'} || &WWW::Scripter::time() - $start_time < $args{'max_wait'} | 
 
| 1092 | 6 | 2 | 0 | $self->{'Scripter_n'} ||= &fieldhash({}) | 
 
| 1142 | 0 | 0 | 0 | $h || $self->die(defined $lang ? "No scripting handlers have been registered for $lang" : 'No scripting handlers have been registered') | 
 
| 1395 | 2 | 2 | 45 | $new_pos < 0 or $new_pos > $#$self | 
 
| 1596 | 2 | 0 | 0 | $1 || length $2 |