$Element->isa('PPI::Token::Word') or return '';
$Element->content eq 'lookup' or return '';
- print "#*** expansion: ", $Element->snext_sibling,$/;
+ $log->debug("expansion: ", $Element->snext_sibling);
my $args = $Element->snext_sibling;
my @e = $args->child(0)->elements;
- print "hum, expect at least 8 elements, got ", scalar @e, " in $args\n" if ($#e < 8);
+ $log->logdie("hum, expect at least 8 elements, got ", scalar @e, " in $args") if ($#e < 8);
- print "# found ", scalar @e, " elements:\n";
+ if ($log->is_debug) {
+ my $report = "found " . scalar @e . " elements:\n";
- foreach my $i ( 0 .. $#e ) {
- printf("# %-2d: %-30s %s\n", $i, ( $e[$i] || 'undef' ), $e[$i]->class );
+ foreach my $i ( 0 .. $#e ) {
+ $report .= sprintf("# %-2d: %-30s %s\n", $i, ( $e[$i] || 'undef' ), $e[$i]->class );
+ }
+
+ $log->debug($report);
}
my $key_element = $e[8]->clone;
- die "key element must be PPI::Structure::Block" unless $key_element->isa('PPI::Structure::Block');
+ $log->logdie("key element must be PPI::Structure::Block") unless $key_element->isa('PPI::Structure::Block');
- print "## key part: ", $key_element, $/;
+ $log->debug("key part: ", $key_element);
my @key;
my $kf = $e->snext_sibling;
- print "## key fragment = $kf\n";
+ $log->debug("key fragment = $kf");
push @key, eval $kf;
- print "ERROR: can't eval { $kf }: $@" if ($@);
+ $log->logdie("can't eval { $kf }: $@") if ($@);
return 1;
});
- my $key = join('-', @key ) || print "ERROR: no key found!";
+ my $key = join('-', @key ) || $log->logdie("no key found!");
- print "key = $key\n";
+ $log->debug("key = $key");
my $create = '
$coderef = ' . $e[7] . $e[8] . ';
}
';
- print "create: $create\n";
+ $log->debug("create: $create");
$create =~ s/\s+/ /gs;
$eval_create->{ $e[3] }->{ $e[5] } .= $create;
$e[8]->remove;
- print "# >>> ", $Element->snext_sibling, "\n";
+ $log->debug(">>> ", $Element->snext_sibling);
});
- print "-----\ncreate: ", dump($eval_create), "\n";
- print "-----\nlookup: ", $Document->serialize, "\n";
- print "-----\n";
+ $log->info("create: ", dump($eval_create) );
+ $log->info("lookup: ", $Document->serialize );
- my $Dumper = PPI::Dumper->new( $Document );
- $Dumper->print;
+ if ($self->{debug}) {
+ my $Dumper = PPI::Dumper->new( $Document );
+ $Dumper->print;
+ }
+ return 1;
}
=head1 AUTHOR