2011-07-17 24 views

Trả lời

9

Đây là triển khai nhanh chóng các ý tưởng cnicutar của:

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,})/; 
} 

Cung cấp cho bạn danh sách bao gồm các thông số như thế này:

-X FILEHANDLE 
-X EXPR 
-X DIRHANDLE 
-X 
abs VALUE 
abs 
... 
3

Tôi sẽ phân tích cú pháp perldoc perlfunc (phần "Chức năng Perl theo danh mục").

+2

thay vì phân tích pod/perlfunc.pod như một định dạng thường xuyên hơn (và có các trình phân tích cú pháp như Pod :: Đơn giản mà bạn có thể áp dụng cho tác vụ) – MkV

+0

Nhiều thứ bạn cần tìm không có trong perlfunc. –

+4

@brian d foy Ông yêu cầu «Perl built-in-functions'. Chức năng tích hợp nào không có ở đó? – cnicutar

5

Nhìn vào toke.c tập tin trong nguồn perl:

$ perl -nE 'next unless /case KEY_(\S+):/; say $1' toke.c | sort | uniq 

Bạn sẽ tìm thấy nhiều thứ sẽ không hiển thị trong perlfunc. Tuy nhiên, điều đó phụ thuộc vào cách bạn muốn phân đoạn những thứ khác nhau mà bạn muốn tô màu.

Bạn cũng có thể xem PPI, trình phân tích cú pháp Perl tĩnh hoặc các tô sáng cú pháp Perl hiện có.

0

Tôi chạy vào cùng một vấn đề ngay bây giờ, và

egrep '^=item' /usr/lib/perl5/5.10.0/pod/perlfunc.pod | perl -anle '$F[1]=~s/\W//g; print $F[1]' | sort | uniq 

làm việc cho tôi (nhưng được cảnh báo, nó không phải là hoàn hảo)

Các vấn đề liên quan