如何使用perl从文件中删除数字链接?

如何使用perl从文件中删除数字链接?,perl,Perl,下面是我在stack overflow网站上学习的代码部分,我也尝试在我的代码中实现同样的代码。但是我没有得到预期的代码 在这里的代码中,我尝试使用perl模块HTML::TreeBuilder从文件中删除数字的href链接 这是我的子程序的一部分,我试图删除所有数字的超链接 sub process_file { print "enter"; my ($files)=@_; print "******$files**********"; use HTML::TreeBuilder; my $ro

下面是我在stack overflow网站上学习的代码部分,我也尝试在我的代码中实现同样的代码。但是我没有得到预期的代码

在这里的代码中,我尝试使用perl模块HTML::TreeBuilder从文件中删除数字的href链接

这是我的子程序的一部分,我试图删除所有数字的超链接

sub process_file
{
print "enter";
my ($files)=@_;
print "******$files**********";
use HTML::TreeBuilder;
my $root = HTML::TreeBuilder->new_from_file($files);
foreach my $a ($root->find_by_tag_name('a')) {
    if ($a->attr('href') =~ /^\d+/) {
       $a->replace_with_content($a->as_text);
#print $a;
    }
}
print $root->as_HTML(undef, "\t");
}
代码说明:

1.此子例程用于删除文件中的超链接。在我的文件中,所有数字都是超链接的。因此我尝试删除它

2.Foreach正在寻找href标签

3.接下来在if条件下,我尝试匹配文件中的数字


输入文件片段:

您的代码似乎工作正常。唯一缺少的是没有将修改后的内容写回文件。PFB更新的代码:

use strict;
use warnings;
use HTML::TreeBuilder;

print "enter";
my ($files)= "abc.html";
print "******$files**********\n";
my $FileFH;
my $root = HTML::TreeBuilder->new_from_file($files);
foreach my $a ($root->find_by_tag_name('a')) {
    if ($a->attr('href') =~ /^\d+/) {
       $a->replace_with_content($a->as_text) or die "Cannot replace";
    }
}
print $root->as_HTML(undef, "\t");

open($FileFH,'>',$files);
print $FileFH $root->as_HTML(undef, "\t");
print "File Written successfully";

欢迎来到StackOverflow。请学习问好问题stackoverflow.com/help/how-to-ask,做一个简单的回答。如果您正在寻找有关调试代码的帮助,请参阅“数字链接”是什么意思?你想达到什么目标?你复制的代码在做什么?你想改变什么样的行为?您在代码中到底更改了什么?你所说的“期望的”是什么意思?你观察到的不受欢迎的行为是什么?您是否收到警告/错误?您是否使用<代码>使用严格;使用警告?使用格式。这里只添加了我的子例程部分。在代码中给出打印语句之前,我的代码运行良好。子例程的主题是删除所有数字的超链接,因为在我的文件中只有数字是超链接的。因此我尝试删除它@YunnoschTell告诉我更多关于它的信息。一个叫做的用户问了这个问题。为什么更改用户名?显示的输入文件是呈现的HTML的图像。这对我们有什么用处?我们需要看到原始输入——实际的HTML。我们需要将其视为文本,以便将其复制到文件中,以便测试您的代码和修复程序。为什么你认为文字图片对任何人都有用?