目錄

名稱

Pod::Checker - 檢查 pod 文件的語法錯誤

語法

use Pod::Checker;

$syntax_okay = podchecker($filepath, $outputpath, %options);

my $checker = Pod::Checker->new(%options);
$checker->parse_from_file($filepath, \*STDERR);

選項/參數

$filepath 是要讀取的輸入 POD,而 $outputpath 是要寫入 POD 語法錯誤訊息的地方。任一參數都可以是表示檔案路徑的純量,或是開啟檔案處理程序的參考。如果未指定,輸入檔案預設為 \*STDIN,而輸出檔案預設為 \*STDERR

podchecker()

此函式可以接受選項雜湊

-warnings => val

開啟/關閉警告。val 通常為 1 表示開啟,但較高的值會觸發額外的警告。請參閱 "Warnings"

-quiet => val

如果 val 為 true,則不列印任何錯誤/警告。

說明

podchecker 會執行 Perl5 POD 格式文件語法檢查。

歡迎好奇/有抱負的使用者提出他們希望在 Pod::Checkerpodchecker 中看到的其他功能,並驗證檢查是否與 perlpod 一致。

目前執行下列檢查

診斷

錯誤

警告

這些不一定會造成問題,但表示風格平庸。

有一些關於格式錯誤超連結的警告

請注意,錯誤/警告的行號可能是指錯誤/警告存在的段落開頭行號,而不是錯誤/警告所在的行號。此錯誤存在於與格式化代碼相關的錯誤/警告中。此問題應已修正。

傳回值

podchecker 會傳回找到的 POD 語法錯誤數目,或是在檔案中完全找不到任何 POD 指令時傳回 -1。

範例

請參閱 "SYNOPSIS"

腳本

此發行版附帶的 podchecker 腳本是此模組的精簡包裝器。請使用下列方式參閱線上手冊

podchecker -help
podchecker -man

介面

此模組在檢查時會收集文件屬性,例如超連結的節點 (=headX=item) 和索引條目 (X<>)。POD 轉譯器可以使用此功能在實際開始轉換前執行語法檢查並取得節點。此功能在執行時間上較耗時,但可進行非常穩健的轉換。

自 v1.24 起,Pod::Checker 模組僅使用 poderror 方法來列印錯誤和警告。摘要輸出 (例如「Pod 語法正確」) 已從模組中移除,並已包含在 podchecker (腳本) 中。這允許 Pod::Checker 的使用者完全控制輸出行為。podchecker (腳本) 的使用者會獲得眾所周知的行為。

v1.45 繼承自 Pod::Simple,而所有先前版本都繼承自 Pod::Parser。在使用 Pod::Checker 時,請不要使用 Pod::Simple 的介面,除非此介面已記錄在此頁面的某處。我再說一次,請勿使用 POD::SIMPLE 的介面。

下列清單記載了對 Pod::Simple 的覆寫,主要是為了讓 Pod::Coverage 滿意

end_B
end_C
end_Document
end_F
end_I
end_L
end_Para
end_S
end_X
end_fcode
end_for
end_head
end_head1
end_head2
end_head3
end_head4
end_item
end_item_bullet
end_item_number
end_item_text
handle_pod_and_cut
handle_text
handle_whiteline
scream
start_B
start_C
start_Data
start_F
start_I
start_L
start_Para
start_S
start_Verbatim
start_X
start_fcode
start_for
start_head
start_head1
start_head2
start_head3
start_head4
start_item_bullet
start_item_number
start_item_text
start_over
start_over_block
start_over_bullet
start_over_empty
start_over_number
start_over_text
whine
Pod::Checker->new( %options )

傳回繼承自 Pod::Simple 的新 Pod::Checker 物件的參考,並用於稍後呼叫所需的方法。辨識下列選項

-warnings => num 如果 num 為 true,則印出警告。num 值越大,印出的警告越多。目前只有 1 和 2 等級。

-quiet => num 如果 num 為 true,則不印出任何錯誤/警告。這在 Pod::Checker 用於將 POD 程式碼從 POD 格式化程式中轉換為純文字時很有用。

$checker->poderror( @args )
$checker->poderror( {%opts}, @args )

用於印出錯誤和警告的內部方法。如果未提供選項,則僅印出 "@_”。辨識下列選項並用於形成輸出

-msg

@args 之前要印出的訊息。

-line

發生錯誤的行號。

-file

發生錯誤的檔案(名稱)。預設為正在處理的目前檔案名稱。

-severity

錯誤等級,應該是 'WARNING' 或 'ERROR'。

$checker->num_errors()

設定(如果指定引數)並擷取找到的錯誤數目。

$checker->num_warnings()

設定(如果指定引數)並擷取找到的警告數目。

$checker->name()

設定(如果指定引數)並擷取在 =head1 NAME 區段中找到的 POD 標準名稱。

$checker->node()

新增(如果指定引數)並擷取目前 POD 的節點(由 =headX=item 定義)。節點會按出現順序傳回。它們包含純文字,每個空白字元都會壓縮成一個空白。

$checker->idx()

新增(如果指定引數)並擷取目前 POD 的索引項目(由 X<> 定義)。它們包含純文字,每個空白字元都會壓縮成一個空白。

$checker->hyperlinks()

擷取包含連結至目前 POD 之外的項目(由 L<> 定義)的陣列。

每個都是具有下列方法的類別實例

line()

傳回找到連結的大略行號

type()

傳回連結的類型;其中之一:"url",例如 http://www.foo"man",例如說明頁面,或 "pod"

page()

傳回連結的頁面或網址。

node()

傳回連結頁面中的錨點或節點,或空字串 ("")(如果連結中沒有出現)。

作者

請使用 http://rt.cpan.org 回報錯誤。

Brad Appleton <bradapp@enteract.com>(初始版本),Marek Rouchal <marekr@cpan.org>,Marc Green <marcgreen@cpan.org>(移植至 Pod::Simple),Ricardo Signes <rjbs@cpan.org>(更多移植至 Pod::Simple),Karl Williamson <khw@cpan.org>(更多移植至 Pod::Simple)

根據 Tom Christiansen <tchrist@mox.perl.com> 編寫的 Pod::Text::pod2text() 程式碼