2017-07-26 14 views
2

當我不知道確切的語法時,如何從perldoc(脫機)獲取信息?

例如,在搜索「lwp」模塊時,僅查找perldoc -m lwpperldoc -m lwp::simple(在linux/unix中)是不夠的。
作爲一個初學者,我會想,perl會提供類似於perldoc -m /lwp/的東西來搜索這個爆炸。
但是你必須找出模塊的確切語法,然後你可以搜索文檔(或者,你會寫一個oneliner/grep來搜索表達式的所有pod文件) - 但有時候我不會記住確切的語法並需要提示。

我錯過了什麼嗎?
尋找常見問題可以使用表達式perldoc -q something而不是其他任何東西(-f/-m/...)來完成? 謝謝你的支持。如何查找(離線)perl文檔 - 「不區分大小寫」或使用正則表達式

更新:
- 的Windows:(其不區分大小寫的性質),可以運行perldoc [-m] lwp::simple,並會找到LWP ::簡單
- 的Linux/Unix:的perldoc具有-i參數i不敏感搜索。 (見perldoc -h
運行perldoc -i [-m] lwp::simple會發現LWP ::簡單

(-m參數顯示模塊代碼和明文POD文檔 - 可以離開它,因爲它不是漂亮)

+0

爲什麼您使用'-f' – ssr1012

+0

首先您需要告訴模塊和'-f'檢查第二個參數中的函數,並且不區分大小寫。 – ssr1012

+0

對不起,這是一個錯字 - 既不是-f也不是-m可以使用表達式或關鍵字 – eli

回答

2

通過精確語法,你的意思是模塊的名稱?你爲什麼在尋找一個你不知道名字的模塊的文檔?

如果你想找到本地安裝的一些模塊名稱,CPAN(1)會給你的列表:

% cpan -l 

從這一點,你可以搜索的名稱所有你喜歡的(你提到):

% cpan -l | grep -i lwp 

這遵循了重用已經很好的工具的基本unix思想。 cpan給你的名單和grep搜索它。

在該列表中將是LWP。由於模塊名稱是區分大小寫的,你必須使用正確的情況下(雖然有些不區分大小寫的文件系統假貨這個給你):

% perldoc LWP 

大多數情況下,我得到了模塊的名字,我想了解,因爲它在源代碼中註明或我正在使用該類型的對象。我把名字從:

print "The object is of type: ", ref $obj; 

除此之外,還有目前的工作(本週在Perl的會議討論)索引各種類型的數據,讓你尋找他們。

+0

感謝您花時間回答。多數民衆贊成在我需要的 - 我沒有想到擦盼盼腸很明顯,是的。謝謝,真棒。 我爲什麼要這個?有時候我會想:「哦,它是一個帶有lwp名稱的模塊」... - 現在我將grep cpanlist並找到「哦,是的,LWP :: UserAgent,這就是我想要的...」(或類似的東西)。 - 但是,就像我寫的 - perldoc可以使用'-i'不區分大小寫搜索,例如在Linux上)。我的主要動機是不依賴於在線搜索引擎來查找關於某事的文檔。 – eli

相關問題