1

我是一个新手程序员。我有大约 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";
    }
  }
}       
4

1 回答 1

1

您需要了解配额类运算符在 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};
于 2013-05-13T11:16:38.247 回答