私はたくさんの質問と答えを読みましたが、私の質問に対する正解は見つかりませんでした。すべての答えは非常に一般的であるか、私がやりたいこととは異なっていました。これまでのところ、HTML::TableExtractまたはHTML::TreeBuilder :: XPathを使用する必要がありますが、値を格納するために実際に使用することはできませんでした。どういうわけか、テーブルの行の値を取得して、Dumperで表示することができました。
このようなもの:
foreach my $ts ($tree->table_states) {
foreach my $row ($ts->rows) {
push (@fir , (Dumper $row));
} }
print @sec;
しかし、これは私が探していることを実際には行っていません。値を保存するHTMLテーブルの構造を追加します。
<table><caption><b>Table 1 </b>bla bla bla</caption>
<tbody>
<tr>
<th ><p>Foo</p>
</th>
<td ><p>Bar</p>
</td>
</tr>
<tr>
<th ><p>Foo-1</p>
</th>
<td ><p>Bar-1</p>
</td>
</tr>
<tr>
<th ><p>Formula</p>
</th>
<td><p>Formula1-1</p>
<p>Formula1-2</p>
<p>Formula1-3</p>
<p>Formula1-4</p>
<p>Formula1-5</p>
</td>
</tr>
<tr>
<th><p>Foo-2</p>
</th>
<td ><p>Bar-2</p>
</td>
</tr>
<tr>
<th ><p>Foo-3</p>
</th>
<td ><p>Bar-3</p>
<p>Bar-3-1</p>
</td>
</tr>
</tbody>
</table>
行の値をペアとして一緒に格納できれば便利です。
期待される出力は、次の値を持つ配列のようなものになります:(Foo、Bar、Foo-1、Bar-1、Formula、Formula-1 Formula-2 Formula-3 Formula-4 Formula-5、....)重要私にとって重要なのは、各タグの値を格納する方法と、タグツリー内を移動する方法を学ぶことです。