小编Aza*_*hal的帖子

在本地文件上使用perl WWW :: Mechanize

我目前正在研究Perl脚本,我使用CPAN模块WWW:Mechanize来从网站获取HTML页面.但是,我希望能够处理离线HTML文件(我最有可能预先保存自己),所以每次我尝试新脚本时都不需要互联网.所以基本上我的问题是如何改变这个:

$mech->get( 'http://www.websiteadress.html' );
Run Code Online (Sandbox Code Playgroud)

进入这个:

$mech->get( 'C:\User\myfile.html' );
Run Code Online (Sandbox Code Playgroud)

我见过那个文件://可能有用,但我显然不知道如何使用它,因为每次都会出错.

perl www-mechanize

4
推荐指数
1
解决办法
569
查看次数

拼接数组会生成不需要的新行

我想要做的是比较两个哈希的键,如果hash1中存在hash1的键,则将hash1中的相应值插入hash2的值,并检索修改后的值.
我试图通过从数组中的hash2中分割值(所述值是制表符分隔的字符串)并拼接数组来实现.
我希望输出看起来像这样:

foo    bar    baz    qux
Run Code Online (Sandbox Code Playgroud)

但它会在拼接后生成一个不需要的换行符:

foo    bar    modified
qux
Run Code Online (Sandbox Code Playgroud)

我怎样才能避免这个换行符?

这是相应的代码:

foreach my $hash1key ( keys %hash1 ) {
    if ( exists $hash2{($hash1key)} ) {
        my $line = $hash2{$hash1key};
        my @results = split /\t/, $line;        
        splice @results, 2, 1, $hash1{$hash1key};
        for ( @results ){ 
            print OUT $_."\t";
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

perl hash newline splice

0
推荐指数
1
解决办法
71
查看次数

标签 统计

perl ×2

hash ×1

newline ×1

splice ×1

www-mechanize ×1