Consider this Mojo::DOM example, I've made some assumptions as your source data does not seem complete:
cat dragnet.pl
#!/usr/bin/perl
use strict;
use warnings;
use Mojo::DOM;
use feature 'say';
my $html = '<div class="phone">
<div class="icon"></div>
<p class="title">Telephone</p>
<p>0123-4 56 78 90</p>
<p class="title">Telefax</p>
<p>just the fax ma\'am</p>
</div>';
my $dom = Mojo::DOM->new( $html );
my $phone = $dom->at('div.phone > p:nth-of-type(2)')->text;
say $phone;
my $fax = $dom->at('div.phone > p:nth-of-type(4)')->text;
say $fax;
Prints:
0123-4 56 78 90
just the fax ma'am
Let us know if you have any problems or your input data is somehow weirder.
Update: Sorry, late in the day on a Saturday here. Since the HTML isn't valid, and I'm guessing you can't change that try:
#!/usr/bin/perl
use strict;
use warnings;
use Mojo::DOM;
use Mojo::Util qw(trim);
use feature 'say';
my $html = '<div class="phone">
<div class="icon"></div>
<p class="title">Telephone</p>
<p>0123-4 56 78 90
<p class="title">Telefax</p>
<p>just the fax ma\'am
</div>';
my $dom = Mojo::DOM->new( $html );
my $phone = trim( $dom->at('div.phone > p:nth-of-type(2)')->text );
say $phone;
my $fax = trim( $dom->at('div.phone > p:nth-of-type(4)')->text );
say $fax;
Which still prints:
0123-4 56 78 90
just the fax ma'am
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|