小编cjm*_*cjm的帖子

使用WWW :: Mechanize在<td>标记内获取<a>时获取<td>文本

我是Perl-HTML的新手.我正在尝试从HTML表中获取文本和链接.

这是HTML结构:

<td>Td-Text
    <br>
    <a href="Link-I-Want" title="title-I-Want">A-Text</a>
</td>
Run Code Online (Sandbox Code Playgroud)

我已经发现WWW :: Mechanize是从<a>部件中获取所需内容的最简单模块,但我不知道如何从中获取文本<td>.我希望这两个任务背靠背发生,因为我需要将每个单元<td>-Text与其对应<a>-Text的哈希数组配对.

任何帮助都感激不尽!

Z.Zen

perl perl-module html-parsing

2
推荐指数
1
解决办法
1924
查看次数

如何在Perl中读取包含非ASCII字符的CSV文件?

我正在使用Text :: CSV来解析csv文件.由于某些不良字符,并非所有行都可以被解析.
Text :: CSV文档说:

CSV字段中的允许字符包括0x09(制表符)和包含范围0x20(空格)到0x7E(波浪号).
如何尽可能简单地过滤掉任何不允许的字符?

regex csv perl

2
推荐指数
1
解决办法
1048
查看次数

如何处理无法在int中存储时间?

在某些语言中,时间存储为从纪元开始的秒数并存储在int中(如果我错了,请纠正我).因此,我们最终会遇到无法将当前时间存储在int中的点,因为没有足够的位来保存时间.

现在我知道这是在路上,但现在还不值得思考吗?

无论如何,我真正的问题是,我应该总是使用64位来存储时间,还是操作系统可能会处理的事情?

c c++ java time

2
推荐指数
1
解决办法
174
查看次数

Perl条件不替换标量值

出于某种原因,我的if语句没有按照我希望的方式工作.

use strict;
use warnings;

my $syl;
my $name = "Chris";
print "Enter my name\n";
$syl = <>;
if ($syl eq $name)
{
  print "You entered my name!\n";
}
else
{
  print "That's not my name!\n";
}
Run Code Online (Sandbox Code Playgroud)

看起来它应该适用于我读过的所有教程,但是当我输入"Chris"时,无论是大小写,小写,有或没有引号,它总是评估为false.使用严格和使用警告不告诉我我做错了什么,所以,如果有的话,我可以做什么?

perl scalar if-statement

2
推荐指数
1
解决办法
124
查看次数

如何使用perlbrew在64位Linux机器上编译32位Perl?

我对perlbrew几乎不熟悉.我想我需要使用--sitecustomize $ filename但我无法在任何地方找到此文件的示例.我不知道该放入文件中的内容.任何人都有我可以看到的样品?

perl 64-bit 32-bit perlbrew

2
推荐指数
1
解决办法
1895
查看次数

如何使用 XML::Twig 模块在 Perl 中提取属性/属性?

如果我有以下示例 XML,如何_Id使用 从字段中提取XML::Twig

<note>
    <to _Id="100">Share</to>
    <from>Jane</from>
    <heading>Reminder</heading>
    <body>A simple text</body>
</note>
Run Code Online (Sandbox Code Playgroud)

我尝试过以下组合,但没有成功。

sub getId {
    my ($twig, $mod) = @_;

    ##my $to_id = $mod->field('to')->{'_Id'};  ## does not work
    ##my $to_id = $mod->{'atts'}->{_Id};       ## does not work
    ##my $to_id = $mod->id;                    ## does not work

    $twig->purge;
}
Run Code Online (Sandbox Code Playgroud)

perl xml-twig

2
推荐指数
1
解决办法
1709
查看次数

在Perl中,readline如何在循环条件中分配给$ _而在其他地方没有?

如何在Perl中实现readline?

问题是如果在循环条件中使用readline,readline设置$ _,例如:

while(<>) {
  #here $_ is set
  print;
}
Run Code Online (Sandbox Code Playgroud)

相反,如果我们这样做

<>;
print;  #$_ is not set here
Run Code Online (Sandbox Code Playgroud)

它不会打印任何东西?

这是如何实现的?该函数如何知道它在循环条件语句中使用?或者只是这样设计的内置行为?

perl

2
推荐指数
1
解决办法
123
查看次数

如何将物品放在Slick Carousel中?

我正在使用Slick Carousel,但有一个布局痒,我无法划伤.当我的物品数量少于旋转木马可以同时显示的物品时,它们是左对齐的.我希望他们能够集中精力.例如slidesToShow,我得到的是3等且只有2个项目

-------------------
 IIIII IIIII
-------------------
Run Code Online (Sandbox Code Playgroud)

当我想要的是

-------------------
    IIIII IIIII
-------------------
Run Code Online (Sandbox Code Playgroud)

或者如果只有1个项目:

-------------------
       IIIII
-------------------
Run Code Online (Sandbox Code Playgroud)

我尝试过设置centerMode,但这是完全不同的效果.

有没有办法得到我想要的效果?它需要slidesToShow通过响应断点来减少处理.

javascript carousel slick.js

2
推荐指数
2
解决办法
4361
查看次数

Perl GetOptions 或无法按预期工作

我正在编写一个简单的代码,它在命令行中接收参数并进行一些处理。如果没有通过任何选项,我希望脚本“死亡”。

这是我的脚本,但它似乎并没有“死”。任何意见?

my $NETLIST;
GetOptions (
    "netlist=s" => \$NETLIST
) or die ("ERROR: Netlist path must be specified.");
Run Code Online (Sandbox Code Playgroud)

perl

2
推荐指数
1
解决办法
1704
查看次数

Perl中的非本地返回(从调用者返回)

有没有办法让我我的来电者返回而不是我的来电者?例如

sub foo {
    bar();
    # this never gets executed
}

sub bar {
    return_from_caller(5);
}

# This prints 5
print foo();
Run Code Online (Sandbox Code Playgroud)

(理由:我正在编写一个函数memoize_self,它在函数本身内记忆一个函数.我希望它能像这样工作:

sub complex_function {
    my ($x, $y) = @_;
    memoize_self({key => $y, expires_in => '5min'));
    # compute $result
    return $result;
}
Run Code Online (Sandbox Code Playgroud)

memoize_self将检查自己的缓存,如果它得到一击,返回缓存值它的调用者.否则,它将重新调用该函数(使用动态范围的var来避免明显的无限循环),将返回值存储在缓存中并再次返回它.

如果没有从调用者返回的能力,我可能会使用$ _并以这种方式编写它:

return $_ if memoize_self({key => $y, expires_in => '5min'));
Run Code Online (Sandbox Code Playgroud)

但这是额外的噪音,也没有考虑上下文.)

编辑:对合理建议Memoize的人 - 是的,我应该说,我很了解这个模块.我正在编写一个基于CHI的更现代和功能更强的Memoize版本.

但作为涉及到这个问题,有些情况下是非常有用的,以memoize的案件的作用,而不是外界的功能(memoize的只做后者).它可以轻松自定义缓存键和/或确定是否要为此特定调用进行任何记忆.例如

sub complex_function {
    my $key = ...; …
Run Code Online (Sandbox Code Playgroud)

perl

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