Thread Regexp::Common gibt keine Werte zurück (3 answers)
Opened by MarkusH at 2013-08-18 12:24

MarkusH
 2013-08-18 12:24
#169615 #169615
User since
2012-04-08
161 Artikel
BenutzerIn
[default_avatar]
Hallo,

in diesem Forum habe ich vor kurzem gelernt, dass man HTML nicht mit Regex bearbeiten sollte.
Ich versuche das ab jetzt zu beherzigen und verwende für ein Script zwei Module.
Mich interessieren von einer HTML-Seite die Links, die wiederum in einer Tabelle hinterlegt sind.
Mit CPAN:HTML::TableExtract wird die HTML-Seite geparst. Die Links liegen dann in der Form vor, wie unter $link im Schnipsel.
Das Modul CPAN:Regexp::Common lass ich dann über $link drüberlaufen um die URL zu extrahieren.
Leider gibt das Modul aber keine Werte zurück und ich weiß nicht warum.
Die print Anweisung innerhalb des If-Blocks wird ausgegeben.
Außerdem erhalte ich gleich zum Programmstart die als Kommentar markierte Meldung.

Hier mein Schnipsel:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#!/usr/bin/perl -w
use strict;
use warnings;

use Regexp::Common qw /URI/;

my $link = '<a href="https://aaa.bbb.ccc.ddd.com/path/filename.msi">name.msi</a>';
my $cap = 'leer';

if ($RE{URI}{HTTP}{-scheme => qr/https/}{-keep}{-i}->matches($link)) {
        $cap = $1;
        print "HTTPS URI gefunden" . "\n\t" . "$cap" . "\n\n";
}

print "Done!";

#Can't Regexp::Common::FIRSTKEY at C:/Program Files (x86)/ActiveState Komodo IDE 7/lib/support/dbgp/perllib/perl5db.pl line 197.
$q =~ /(bb|[^b]{2})/

View full thread Regexp::Common gibt keine Werte zurück