标签: perldoc

perldoc perlxxx选项有哪些?

似乎使用perldoc perl给出了例如perlre,perlvar等的列表.

这是查找概述或教程或参考手册部分可用列表的最佳位置吗?还有另一个更好的清单吗?

perl perldoc

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

perl的pod2usage(-verbose => 2)显示源代码而不是格式化文档

根据Pod :: Usage文档,pod2usage(-verbose => 2)"整个手册页被打印".但是,在某些情况下,将显示脚本的perl源代码,而不是正确格式化的联机帮助页.

这是一个例子:

use Pod::Usage qw(pod2usage);
pod2usage(-verbose => 2);

__END__

=head1 NAME

Minimal example

=head1 SYNOPSIS

This is the synopsys section.

=cut
Run Code Online (Sandbox Code Playgroud)

运行脚本:

$ perl test.perl            
You need to install the perl-doc package to use this program.
use Pod::Usage qw(pod2usage);
pod2usage(-verbose => 2);

__END__

=head1 NAME

Minimal example

=head1 SYNOPSIS

This is the synopsys section.

=cut
Run Code Online (Sandbox Code Playgroud)

perl perldoc

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

重置默认的perldoc查看器

我现在正在学习perl,我发现perldoc是一个非常方便的工具.

最初perldoc使用'less'作为默认页面查看器.没关系.但最近perldoc使用'more'作为默认页面查看器.

现象:1.男人仍然使用'少'.2. env | grep -Ei'perl | view | man'没有任何线索.

我读过,perldoc perldoc但我不知道我在过去做了什么错误导致这种沮丧的情况.我的要求可能看起来很愚蠢:我怎样才能恢复默认的perldoc查看器,即'less'?

我使用archlinux i686,openbox,xterm.谢谢.

perl perldoc pageviews

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

<*>符号的含义

我最近接触过一些Perl代码,它的某些方面对我来说仍然是难以捉摸的.就是这个:

@collection = <*>;
Run Code Online (Sandbox Code Playgroud)

我知道at符号定义collection为数组.我也搜索了一下,然后登陆perldoc,特别是关于I/O操作员的部分.我发现null filelhandle特别有趣; 代码如下.

while (<>) {
    ...
}
Run Code Online (Sandbox Code Playgroud)

在同一主题上我也注意到这个语法也是有效的:

while (<*.c>) {
    ...
}
Run Code Online (Sandbox Code Playgroud)

根据perldoc它实际上调用一个内部函数,其调用glob方式类似于以下代码:

open(FOO, "echo *.c | tr -s ' \t\r\f' '\\012\\012\\012\\012'|");
while (<FOO>) {
    ...
}
Run Code Online (Sandbox Code Playgroud)

第一行提到的小于,星号,超过(<*>)符号实际上做了什么?它是对内部开放和引用的glob的引用吗?它会是一个特殊情况,例如null文件句柄吗?或者它可以是完全不同的东西,比如传统的实现?

io perl perldoc

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

Perl:实验特征和Perldoc

我无意中在Perl 5.20中使用了Perl 5.14的实验性自动反射功能,当然还收到有关其使用的警告.该diagnosticspragma解释了如果需要,如何抑制这些警告消息; 但是,我想更多地了解这个警告的根本原因(实际上是整体功能),所以我转而perldoc学习更多autoderef.

perldoc experimental命令列出了autoderef有关其用途的高级语句,但仅此而已.

perldoc perlexperiment命令提供了有关其他实验性功能的更多详细信息,但autoderef根本没有提及.

我已经试过各种其他perldoc选项(例如,-v,-f等),但无济于事.

使用?追踪此类warning/ diagnostics消息的有效方法是什么perldoc?实验性功能是否未涵盖perldoc

更新:请参阅下面的@ ThisSuitIsBlackNot的优秀答案.

为了进一步澄清和参考:这似乎很奇怪的是,autoderef命名空间并没有在所有的各种文档(即持有perlexperiment,perldelta,perldoc等).perldoc experiment叫它autoderef,perldelta5140称之为auto-deref.perldoc perlexperiment使用了perldelta页面中的某种语言,但没有autoderef使用.

由于diagnostics陈述了相关的警告可以使用no warnings "experimental::autoderef".以此作为起点将是很好的perldoc.也就是说,查找相关文档perldoc experimental::autoderef,匹配由 …

perl perldoc

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

Perl"do",相对路径以"."开头.要么 ".."

我正在尝试使用Perl的do EXPR函数作为穷人的配置解析器,使用第二个.pl文件,它只返回一个列表作为配置信息.(我认为这可能是理想的用途do,尤其是因为我可以do or die在我的代码中写" ".这是一个例子:

main.pl

# Go read the config file
my %config = do './config.pl';

# do something with it
$web_object->login($config{username}, $config{password});
Run Code Online (Sandbox Code Playgroud)

config.pl

# Configuration file for main script
(
  username => "username",
  password => "none_of_your_business",
  favorite_color => "0x0000FF",
);
Run Code Online (Sandbox Code Playgroud)

阅读Perldocdo提供了很多关于相对路径的有用建议 - 搜索@INC和修改%INC,关于5.26不搜索"."的特殊警告.更多,等等.但它也有这些位:

#加载确切的指定文件(./和../ special-cased) ...


使用do与相对路径(./和../除外),如...

然后它实际上从来没有麻烦解释"./"或"../"的特殊情况路径处理 - 一个重要的遗漏!

所以我的问题是" 当你真正发生了什么"时的所有变化do './file.pl';?例如...

  • 虽然从@INC中删除了CWD,但这种语法是否仍然适用于5.26?
  • 从哪个角度看是"./":Perl二进制文件,执行的Perl脚本,来自用户shell的CWD,还是别的东西?
  • 是否存在安全隐患?
  • 这比修改@INC和使用基本文件名更好还是更差?

任何见解都表示赞赏.

perl perldoc perl5 perl-core

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

网上有什么正式的perl文档?

我发现具有高可用性级别的perldoc.pl是最新的5.30.0版本。

Perl.org链接到perldoc.perl.org,该版本停止在5.26.1版。但是另一方面,它链接到Download(版本5.28.2)到Strawberry Perl(实际上是5.30.0版本),我感到很困惑。

我已经知道Perl 6是完全不同的语言。在5.26。*之后可能还会有其他语言障碍吗?

背景

由于我很少使用它,所以程序更新是重新输入Perl的起点。这就是为什么我对在安装之前研究delta文档 感兴趣的原因,而且很难找到该delta。

perl perldoc

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

标签 统计

perl ×7

perldoc ×7

io ×1

pageviews ×1

perl-core ×1

perl5 ×1