2013-12-17 49 views
-4

我在編寫Perl腳本時與packunpack混淆。 Perl中的packunpack之間有什麼區別(用一個簡單的例子來解釋)?在Perl中打包和解壓縮

+0

包包裝,解包解包其如printf和scanf – nrathaus

+6

你可以閱讀文檔,並提及它到底是什麼,你不明白? – gideon

+0

如何使用這個包和解壓縮。我與他們混淆可以解釋一個簡單的例子? – user3098497

回答

2

pack獲取值列表並使用模板給出的規則將其轉換爲字符串。

unpack接收一個字符串並使用模板給出的規則將其展開爲值列表。

$ perl -E 'say for unpack "H2H2", "56"' 
35 
36 

$ perl -E 'say pack "H2H2", 35, 36' 
56 
+0

在你的例子中,模板是什麼? – user3098497

+1

'「H2H2」'是模板。您將需要查看文檔。 – DavidO

+0

而不是「H2H2」,我們可以使用其他模板嗎? – user3098497

3

你明白splitjoin之間的區別? unpack有點像split(它接受一個字符串,併產生值的列表),並pack有點像join(它需要的值的列表,併產生一個字符串。

+0

我不知道拆分和加入 – user3098497

+0

那麼,你應該在擔心'pack'和'unpack'之前去處理那些問題。 –