Next Los Angeles Perl Mongers 4

Conditional Processing : Delete or preserve children

        <span id=age_handler>
          <span id="under10">
               Hello, does your mother know you're 
               using her AOL account?
          </span>
          <span id="under18">
               Sorry, you're not old enough to enter 
               (and too dumb to lie about your age)
          </span>
          <span id="welcome">
               Welcome
          </span>
        </span>
        package HTML::Seamstress;
        use strict;
        use HTML::Seamstress;
        my $file = 'script.html';
        my $s = HTML::Seamstress->new_from_file($file);
        my $age = 22;
        $s->age_handler($age);
        print $s->as_HTML;
        sub age_handler {
           my ($tree, $age) = @_;
           my $SPAN = $tree->look_down('id', 'age_handler');
           if ($age < 10) {
             $SPAN->look_down('id', $_)->detach for qw(under18 welcome);
           } elsif ($age < 18) {
             $SPAN->look_down('id', $_)->detach for qw(under10 welcome);
           } else {
             $SPAN->look_down('id', $_)->detach for qw(under10 under18);
           }
        }

More Details November 2003