Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]7603[/thread]

perl bug?



<< >> 5 Einträge, 1 Seite
COSTI
 2006-01-10 01:29
#61604 #61604
User since
2005-11-14
9 Artikel
BenutzerIn
[default_avatar]
tach allersteits bin in perl nicht grad der profi:
ich will ein script schreiben, der ALLE url's einer webpage auflistet ich weis aber nicht richtig wie ich habs nur geschaft etwas zu machn, das komischerweise nur die erste url auflistet ich verstehe nicht, warum nicht alle urls aufgelistet werden
woran liegt das?



if ($response->content =~ m{
(http)
://
(.*?)
/
(.*)
}x
){print $1, "://", $2, "/", $3};
renee
 2006-01-10 01:56
#61605 #61605
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Das ist kein Perl-Bug, sondern Du benutzt RegExes falsch...

Aber URLs mit RegEx zu parsen ist aeusserst Fehleranfaellig. Du solltest lieber ein Modul von CPAN benutzen. Z.B. CPAN:HTML::LinkExtor oder CPAN:HTML::Parser. Zum letzten gibt es sogar einen Wiki:Artikel...

Aber zu Deiner RegEx...
Probier mal:
Code: (dl )
1
2
my @urls = $response->content =~ m{(http://.*?/.*?) }g;
print $_,"\n" for(@urls);


Dieser Code ist sehr "unsicher" (fehleranfaellig) und sollte nicht fuer diese Aufgabe verwendet werden...

Lesenswert zu RegEx:
perldoc perlre
perldoc perlretut
perldoc perlrequick

http://www.regenechsen.de\n\n

<!--EDIT|renee|1136853833-->
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Crian
 2006-01-10 11:41
#61606 #61606
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
Generell würde ich empfehlen, als Anfänger die Fehler bei mir selbst zu suchen und nicht einen Bug in Perl zu vermuten. In den allermeisten Fällen fährt man damit auch als fortgeschrittener Perluser gut ;)
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
COSTI
 2006-01-10 17:18
#61607 #61607
User since
2005-11-14
9 Artikel
BenutzerIn
[default_avatar]
THX fuer die antworten

hat mich weitergebracht
ich schreibe uebrigens etwas (oder versuch es), das bei google nach 'intitle:"index of" "Microsoft-IIS/5.0 Server at"' sucht und, und dan die gefundenen host, nach den alten unicode bug durchsucht. manche (ungepatchte) apache versionen sind auch anfaelig wisst ihr zufaelig welche?
(das ganze ist natuerlich nur fuer test/uebungszwecke)
J-jayz-Z
 2006-01-11 14:13
#61608 #61608
User since
2005-04-13
625 Artikel
BenutzerIn
[Homepage] [default_avatar]
Ich hab auch einmal vor einer weile gedacht einen perl Bug gefunden zu haben. Hatte mich aber nicht getraut, ihn zu posten, weil ich mr einfach zu unsicher war. Als ic dann mehr erfagrung hatte habe ich es doch gepostet und es war wohl tatsache einer.
(Hier in der Forumssuche nach Perlbug suchen, dann findest du ihn)
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="5065726c2d436f6d6d756e697479"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'

http://perl-tutor.de
<< >> 5 Einträge, 1 Seite



View all threads created 2006-01-10 01:29.