Thread HTML::Parser - Handler Issue [Anfänger] (2 answers)
Opened by Tiefkuehlpizza at 2013-05-22 15:03

pq
 2013-05-22 15:14
#167734 #167734
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
also mir scheint, dass du die parameter falsch einliest.
bei der handler-definition gibst du ja "tagname,self" an.
in der subroutine machst du dann aber als erstes
my $self = shift;

zweitens: sowohl im if als auch im elsif machst du ein shift.
nach dem if ist aber das argument schon geshifted, aber da du nur 2 argumente bekommst, holst du dir mit dem shift im elsif ein drittes, welches nicht existiert.

ist ne weile her, dass ich mit HTML::Parser gearbeitet habe, aber ich würde vermuten, dass das so gehen würde:
Code (perl): (dl )
1
2
3
4
5
6
7
8
my ($tagname, $self) = @_;
if ($tagname eq "cc-name") {
    ...
}
elsif ($tagname eq "cc_info") {
    ...
}
...


ansonsten empfehle ich dir als anfänger noch ein tutorial wie z.b. Modern Perl.
eine liste findest du hier:
http://perl-tutorial.org/
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem

View full thread HTML::Parser - Handler Issue [Anfänger]