tag:blogger.com,1999:blog-31807993.post3940989641529550486..comments2023-06-26T16:04:07.182+08:00Comments on Freehaha's notes: perl 的 'exists' in array, hash referencesfreehahahttp://www.blogger.com/profile/02332220379558446612noreply@blogger.comBlogger4125tag:blogger.com,1999:blog-31807993.post-83118828748795144342010-12-02T19:41:49.101+08:002010-12-02T19:41:49.101+08:00咦對~
不過因為 defined 和 exists 基本上就是要對 hashref 操作的,所以也...咦對~<br /><br />不過因為 defined 和 exists 基本上就是要對 hashref 操作的,所以也才會自動轉型。<br /><br />但是 其實應該很少人這樣寫<br /><br />如果要對 var 要做 exists 或 defined ,那就要假定 var 是 hashref 囉 ^^<br /><br />所以在 exit 1 unless $ret; 的部份<br /><br />通常會寫成 exit 1 unless %$ret;<br /><br />然後在傳 $ret 之前建議一開始就指定 $ret ||= {}; 。Arrakeenhttps://www.blogger.com/profile/05514217676033260267noreply@blogger.comtag:blogger.com,1999:blog-31807993.post-37357624721738642892010-11-04T11:33:43.116+08:002010-11-04T11:33:43.116+08:00給你參考這個 https://gist.github.com/662096給你參考這個 <a href="https://gist.github.com/662096" rel="nofollow">https://gist.github.com/662096</a>Anonymoushttps://www.blogger.com/profile/10730138500529109630noreply@blogger.comtag:blogger.com,1999:blog-31807993.post-71132975289159594232010-11-04T11:32:30.081+08:002010-11-04T11:32:30.081+08:00defined 應該也一樣吧, 主要是在 ->{dummy} 的時候, $ret 變成 has...defined 應該也一樣吧, 主要是在 ->{dummy} 的時候, $ret 變成 hashref 了Anonymoushttps://www.blogger.com/profile/10730138500529109630noreply@blogger.comtag:blogger.com,1999:blog-31807993.post-88758406193669614402010-10-08T04:05:45.360+08:002010-10-08T04:05:45.360+08:00應用 defined()應用 defined()Arrakeenhttps://www.blogger.com/profile/05514217676033260267noreply@blogger.com