[問題] 寫Perl程式減少記憶體使用量
請問一下各位高手。
我目前寫程式每次都會覺得記憶體的使用量超大的。
因為我在Perl程式中用到很多的 陣列和變數 ( @tim 、$tp)
我看網路上說 可以在宣告陣列或變數前加一個 my @tim;
這樣在這個陣列使用完後就可以把記憶體release出來。
我現在還是搞不懂什麼叫 全域變數、區域變數。
可以舉個例子和我解釋嗎? 謝謝。
像我之前寫一個程式,是去把17個目錄裡面的資料,讀出來,然後檢查檔名是不是符合規則,而每個目錄中大約都有500~1000個檔案,結果程式在跑的時候,竟然吃掉1G的記憶體,然後常常執行到一半就變成 Out of memory.
* 107-10-21 15:43:06 補充
請問在宣告時應該怎麼宣告呢?
my @all;
my @all={};
undef @it; # 想要清除此陣列用
@it=undef(); # 想要清除此陣列用
這幾種用法,那個是正確的啊??
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.64.100.234
推
10/21 16:16, , 1F
10/21 16:16, 1F
推
10/21 17:09, , 2F
10/21 17:09, 2F
推
10/21 18:15, , 3F
10/21 18:15, 3F
討論串 (同標題文章)
完整討論串 (本文為第 1 之 2 篇):
Perl 近期熱門文章
PTT數位生活區 即時熱門文章