====== Perl / PHP 檢測變數有否定義方式 ====== 最近也開始回來 Coding Perl / PHP.. 所以對於未定義變數的警告訊息也進一步瞭解解決方式,這樣也是避免未來 debug 時花一大堆時間抓出一隻很可笑的 bug. ===== - Perl ===== * 使用 defined() 這個內建的 function 來判別 * 以下範例就是針對命令列要指定路定參數,如果沒有指定就將 $argv_path 設為空字串 $argv_path = (!defined($ARGV[0]))?"":$ARGV[0]; * 如果一個已經有定義的變數要變成沒定義過, 可以使用 undef 指令來取消定義 undef($argv_path); * 參考 http://search.cpan.org/dist/perl/pod/perlfunc.pod ===== - PHP ===== * 使用 isset() 這個 function 來判別 * 以下範例就是針對參數 $p_op 來檢測是否有定義,如果沒有定義就將 $p_op 設為空字串 $p_op = (!isset($p_op))?"":$p_op; * 參考 http://tw.php.net/manual/en/function.isset.php ===== Perl / PHP Translation ===== * 參考 http://www.cs.wcupa.edu/~rkline/perl2php/ {{tag>程式設計 perl php null 密技}}