複数のテーブルを含む HTML ファイルがあります (すべてのテーブルには同じ数の列と同じ列名があります)。表は他の HTML タグで区切られています。
各テーブルの各行について、セル 1 とセル 3 の値を変更したいと思います。
これは私がこれまでに持っているものです(@depeszに感謝):
#!/usr/bin/env perl
use strict;
use warnings;
use utf8;
use open qw( :std :utf8 );
use HTML::TreeBuilder;
my $input_file_name = shift;
my $tree = HTML::TreeBuilder->new();
$tree->parse_file( $input_file_name ) or die "Cannot open or parse $input_file_name\n";
$tree->elementify();
my @tables = $tree->find_by_tag_name( 'table' );
for my $table (@tables) {
foreach my $row ($table->find_by_tag_name('tr')) {
foreach my $column ($table->find_by_tag_name('td')) {
# how do I change the text of first and 3rd column text to "removed"
}
}
}
print $tree->as_HTML();
exit;
HTML ファイル内のすべての行を反復処理するのに最適です。列 1 と列 3 のテキストを変更する最後の部分を行う方法がわかりません。