我正在尝试更新用于语法高亮的 xml 文件,因此我想知道获取所有 Perl 内置函数列表的最简单方法是什么。
问问题
318 次
4 回答
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
...
于 2011-07-17T12:45:00.113 回答
5
查看源码中的toke.c文件perl
:
$ perl -nE 'next unless /case KEY_(\S+):/; say $1' toke.c | sort | uniq
您会发现许多不会出现在perlfunc中的东西。但是,这取决于您要如何分割要着色的各种事物。
您还可以查看PPI、静态 Perl 解析器或现有的 Perl 语法荧光笔。
于 2011-07-17T17:53:18.603 回答
3
我会解析perldoc perlfunc
(“Perl Functions by Category”部分)。
于 2011-07-17T09:37:00.280 回答
0
我刚才遇到了同样的问题,并且
egrep '^=item' /usr/lib/perl5/5.10.0/pod/perlfunc.pod | perl -anle '$F[1]=~s/\W//g; print $F[1]' | sort | uniq
为我工作(但请注意,它并不完美)
于 2013-10-27T16:49:59.713 回答