Next Los Angeles Perl Mongers 3

Text Substitution : Rewrite a Single Node

        <html>
        <head>
         <title>Hello World</title>
        </head>
        <body>
         <h1>Hello World</h1>
           <p>Hello, my name is <span id="name">ah, Clem</span>.
           <p>Today's date is <span id="date">Oct 6, 2001</span>.
        </body>
        </html>
        use HTML::Seamstress;
        my $tree = HTML::Seamstress->new_from_file($html_file);
        $tree->name_handler('bob');
        $tree->date_handler(`date`);
        sub name_handler {
            my ($tree, $name) = @_;
            my $name_tag = $tree->look_down('id', 'name');
            $name_tag->detach_content; # delete dummy content ("ah, Clem")
            $name_tag->push_content($name);
        }
        sub date_handler {
            my ($tree, $date) = @_;
            my $name_tag = $tree->look_down('id', 'date');
            $name_tag->detach_content; # delete dummy content ("Oct 6, 2001")
            $name_tag->push_content($date);
        }
        use HTML::Seamstress; 
        my $tree = HTML::Seamstress->new_from_file($html_file);
        $tree->content_handler(name => 'bob');
        $tree->content_handler(date => `date`);

More Details November 2003