Hanna: Perl Regexp matcht nicht wie erwartet :(

Hallo Zusammen,

bin blutige Perl-Anfängerin, wenig RexExp-erfahren und brauche Hilfe. Folgendes Script mit RegExp matcht leider nicht mit dem h2-Tag auf der Websseite, die ich crawlen will:

------------------

  
use strict;  
use warnings;  
  
use LWP::Simple;  
  
sub get_html {  
    return get('http://www.emeraldinsight.com/Insight/viewContainer.do;jsessionid=4F88F415487DF5FA0ACAC457D41C38FE?containerType=Issue&containerId=15002973');  
}  
  
my $html = &get_html();  
$html =~ m/<h2.*>(.+)<\/h2>/;  
my $h2Title = $1;  
  
print $h2Title;  

-----------------

Das h2-Tag aus der Seite ist folgendermaßen aufgebaut:

-----------------
        <h2 class="inline">

Volume 28

Issue 2

<br />

</h2>
-----------------

Ich habe auch folgende Variante versucht, leider erfolglos:

  
$html =~ m/<h2.*?>(.+)<\/h2>/; # non-greedy  
$html =~ m/<h2 class="inline">(.+)<\/h2>/;  
$html =~ m/<h2 class=\"inline\">(.+)<\/h2>/;  

-----------------

Ich erhalte immer die Meldung:

"Use of uninitialized value $h2Title in print at match.pl line 14."

Hilfe, was mache ich falsch?? :)
Danke und liebe Grüße, Hanna

  1. Hi,

    Folgendes Script mit RegExp matcht leider nicht mit dem h2-Tag auf der Websseite, die ich crawlen will:

    Die Erlaubnis dazu hast du vorliegen?

    $html =~ m/<h2.*>(.+)</h2>/;

    Das h2-Tag aus der Seite ist folgendermaßen aufgebaut:


    <h2 class="inline">

    Volume 28

    Issue 2

    <br />

    </h2>

    Du hast übersehen, dass der Punkt . per Default keine Zeilenumbrüche matched.

    MfG ChrisB

    --
    “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]
    1. Die Erlaubnis dazu hast du vorliegen?

      Ja, das ist für eine Hausarbeit :)

      Du hast übersehen, dass der Punkt . per Default keine Zeilenumbrüche matched.

      Danke Dir!!! /s hilft
      LG Hanna