我正在尝试更新xml文件以进行语法突出显示,因此我想知道获取所有Perl内置函数列表的最简单方法是什么。
答案 0 :(得分:9)
以下是cnicutar想法的快速实现:
use Pod::Find qw(pod_where);
my $perlfunc_path = pod_where({ -inc => 1 }, 'perlfunc');
open my $in, "<", $perlfunc_path or die "$perlfunc_path: $!";
while(<$in>) {
last if /=head2 Alphabetical/;
}
while(<$in>) {
print "$1\n" if /=item (.{2,})/;
}
为您提供包含以下参数的列表:
-X FILEHANDLE
-X EXPR
-X DIRHANDLE
-X
abs VALUE
abs
...
答案 1 :(得分:5)
查看perl
来源中的 toke.c 文件:
$ perl -nE 'next unless /case KEY_(\S+):/; say $1' toke.c | sort | uniq
你会发现许多不会出现在 perlfunc 中的东西。但是,这取决于您希望如何分割您想要着色的各种内容。
您还可以查看PPI,一个静态Perl解析器或现有的Perl语法高亮显示器。
答案 2 :(得分:3)
我会解析perldoc perlfunc
(“按类别划分的Perl函数”部分)。
答案 3 :(得分:0)
我刚才遇到了同样的问题,
egrep '^=item' /usr/lib/perl5/5.10.0/pod/perlfunc.pod | perl -anle '$F[1]=~s/\W//g; print $F[1]' | sort | uniq
为我工作(但是,要警告,这不是完美的)