Hallo!
Ich arbeite grundsätzlich mit "use strict". Allerdings stören mich ein paar Warnungen, denn Warnungen heissen für mich immer, dass etwas nicht zu 100% passt.
Ich bekomme solche in der Richtung:
Use of uninitialized value in string eq (...)
z.B. bei dieser Callbackfunktion:
sub ParseHTMLStart()
{
my ($self, $tagname, $attr, $src) = @_;
if($tagname) # IN DIESER ZEILE TRITT DIE MELDUNG AUF!
(...)
Das ist die Callback Funktion die ich für den HTML::Parser verwende. Offensichtlich ist aus irgendeinem Grund die Variable $tagname nicht gesetzt. Wie kann ich in Perl das überprüfen (in PHP würd ich bei sowas zuerst ein if(isset()) drüberlaufen lassen.
Danke!
Peter
PS: Das gleiche Problem tritt z.B. auch bei LWP::UserAgent auf. Einige schei** Seiten halten sich nicht an den Standard und schreiben solchen Schrott in den Header:
location: /dfgdfg
Diesem ekelhaften Verhalten wollte ich entgegenwirken und hab sowas eingebaut:
if($res->headers->{'location'} ne "")
{
# HOL DIE URL AUF DIE WEITERGELEITET WERDEN SOLL.
}
Offensichtlich kommt da auch dieser Fehler, wenn es im Header keine 'location:' gibt..