我是一名新手程序员。我有大约100个html文件,每个文件我必须从不同的行中提取数据并单独存储。我写了下面的代码,有些人请帮我弄清楚这些缺陷。
#!/usr/bin/perl -w
use strict;
use warnings;
use HTML::TableExtract ;
my$te = HTML::TableExtract->new(headers => [qw('Compound' 'Name' 'Adduct' 'Adduct MW (Da)' 'Compound MW (Da)' 'Delta')]) ;
my @files = </home/akhila/sta/hmdb_hits/com_pks_stn/*.html>;
foreach my $files(@files){
$te ->parse_file($files) or die "cannot parse file";
foreach my $ts ($te->table()){
print "Table(", join(',', $ts->coords),"):\n";
foreach my$row($ts->rows()){
print join(',', @$row), "\n";
}
}
}
答案 0 :(得分:1)
您需要了解quota like operators在perl中的工作原理。尝试下一个代码,您将立即看到问题。
use strict;
use warnings;
use Data::Dumper;
use HTML::TableExtract;
my $te1 = HTML::TableExtract->new(headers => [qw('Compound' 'Name' 'Adduct' 'Adduct MW (Da)' 'Compound MW (Da)' 'Delta')]) ;
print Dumper $te1->{headers};
my $te2 = HTML::TableExtract->new(headers => ['Compound', 'Name', 'Adduct', 'Adduct MW (Da)', 'Compound MW (Da)', 'Delta']) ;
print Dumper $te2->{headers};