Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Re: Introduction to anonymous arrays and hashes

by Prior Nacre V (Hermit)
on Nov 06, 2004 at 10:19 UTC ( [id://405739]=note: print w/replies, xml ) Need Help??


in reply to Introduction to anonymous arrays and hashes

I'm assuming this is related to a markup language such as HTML or XML.

I'm unsure whether you are using the data to create a document or if you are extracing the data from a document. If one of these, I would suggest you use one of the HTML:: or XML:: modules on CPAN. There may be others with which I'm unfamiliar; XML::LibXML is the only one that I have a reasonable working knowledge of.

In terms of how you might use anonymous arrays and hashes, behind the <readmore> is a script which creates a data structure to represent the following HTML fragment (and prints the content of the <em> element).

<html lang="en"> <head> </head> <body> <h1>Heading1</h1> <p id="para1" class="first-para">This is <em>emphasied</em>. A +nd this is not.</p> </body> </html>

Note: This code is for illustrative purposes only - I am not suggesting you include it in an application.

use strict; use warnings; my $ra_web_page = [ { type => 'tag', element => 'html', attributes => { lang => 'en', }, content => [ { type => 'tag', element => 'head', attributes => { }, content => [ ], }, { type => 'tag', element => 'body', attributes => { }, content => [ { type => 'tag', element => 'h1', attributes => { }, content => [ { type => 'string', value => 'Heading 1', }, ], }, { type => 'tag', element => 'p', attributes => { id => 'para1', class => 'first-para', }, content => [ { type => 'string', value => 'This is ', }, { type => 'tag', element => 'em', attributes => { }, content => [ { type => 'string', value => 'emphasised', }, ], }, { type => 'string', value => '. And this is not.', }, ], }, ], }, ], }, ]; my $em_text = $ra_web_page->[0]{content}[1]{content}[1]{content}[1]{co +ntent}[0]{value}; print "EM text = $em_text\n";

This has probably raised further questions. Ask away.

Regards,

PN5

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://405739]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others contemplating the Monastery: (4)
As of 2025-06-23 22:57 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?
    erzuuliAnonymous Monks are no longer allowed to use Super Search, due to an excessive use of this resource by robots.