#!/usr/bin/perl use strict; use warnings; use HTML::TreeBuilder; my $tree = HTML::TreeBuilder->new; $tree->parse_file('C:/Documents and Settings/Mittler/Desktop/test2.htm'); my @table_rows = $tree->look_down( '_tag' => 'tr', sub { $_[0]->look_down ( '_tag' => 'input') }, sub { $_[0]->look_down( '_tag' => 'tt', sub { $_[0]->as_text =~ /Met/i }) }); foreach my $table_row (@table_rows) { my($input_field) = $table_row->look_down('_tag' => 'input'); my ($ladung) = $input_field->attr('value') =~ m!,(.*?)\)!; my ($scan) = $input_field->attr('value') =~ m!FinneganScanNumber%3a%20(\d+)!; #print $input_field->attr('value'), "\n"; print "ladung = $ladung\n" ; print "scanNumber = $scan \n" ; ############################################ ############################################ my @array; my @input_text =($table_row->look_down('_tag' => 'tt')) ; foreach my $test(@input_text){ my $text = $test->as_text; #print $test; push(@array, split(/' '/,$text)); #print "$text"; #print "$array[1,2,3,9]\n"; } my ($massobs,$massexp,$masscalc,$info) = @{array}[1,2,3,-1]; my ($seq,$mod) = split /\s*\+\s*/, $info; #print $array[1,2,3,-1],"\n"; #print"@array\n"; print qq~ Mass Observed: $massobs Mass exp: $massexp Mass calc: $masscalc Sequence: $seq Modification: $mod ~; print"================================\n"; }