$stored_var = retrieve("$batch_text");
%some_hash= %$stored_var;
我認爲這是爲了檢索一些存儲的散列。 %$表示什麼?它只是語法還是它有更多的參與意義?關於在Perl中存儲和檢索
store \%batch_hash, "$batch_text";
我假設以上是用來存儲散列的。這裏我也有同樣的懷疑關於\%如上
$stored_var = retrieve("$batch_text");
%some_hash= %$stored_var;
我認爲這是爲了檢索一些存儲的散列。 %$表示什麼?它只是語法還是它有更多的參與意義?關於在Perl中存儲和檢索
store \%batch_hash, "$batch_text";
我假設以上是用來存儲散列的。這裏我也有同樣的懷疑關於\%如上
%$
表示什麼?
$stored_var
是散列引用,%$
用於對其進行解引用。
store \%batch_hash, "$batch_text";
%batch_hash
是散列和\%
用於傳遞參考,所以在商店子程序中,要傳遞batch_hash散列的參考作爲第一參數和$batch_text
變量作爲第二個參數。
%$
只是解引用引用散列的語法。 看一看here。 \%
用於引用散列。所以store
是一個需要用hashref(1.Param)調用的函數。
%some_hash= %$stored_var;
部分是將hashref複製到一個新的散列。您需要解除引用,然後才能複製它。
%$foo
是去引用參考$foo
到哈希,所以線
%bar = %$foo;
是(淺)複製通過一個標量變量引用到另一散列的散列的內容,通過更直接訪問哈希變量。
在某些方面,這是「只是語法」,即只是一種解引用的方式。一個重要的細節是store
和retrieve
不會直接工作來序列化散列或數組,因此您必須使用對它們的引用(以標量值)。
如果$foo
不是對散列的引用,則該行將失敗。