use strict; use warnings; use HTML::TreeBuilder; my $str = do {local $/; }; my $tree = HTML::TreeBuilder->new; $tree->parse ($str); my @jobs; for my $para ($tree->find ('p')) { my @class = $para->look_down ('class', 'jobname'); my @names = $para->look_down ('name', 'em'); my @offices = $para->look_down ('name', 'offices'); next unless @class && @names && @offices; my $job = $class[0]->as_text ();; $job .= ': ' . join '; ', map {$_->as_text ()} @names; $job .= ' (' . join (', ', map {$_->as_text ()} @offices) . ')'; push @jobs, $job; } print join "\n", @jobs; __DATA__

Sandbagger, Level 2 (19000)
Current members:
FredWilma
Erewon

Accounting Assistant, Level 2 (19203)
Current members:
Plow, ElliotWang, Susan
Huston

Job descriptions here. This block quoted text contains a job description and it what I am really looking to recover.
Go to the top of this page.
Check for open positions now!