我試圖用調試幾個正則表達式:調試Perl的正則表達式
perl -Mre=debug file.pl
的file.pl腳本有許多正則表達式。其中一些重複。使用上面的語法,正在調試file.pl中的所有正則表達式。
有沒有辦法讓Perl調試腳本中的特定正則表達式?
我熟悉YAPE :: Regex模塊,但這不是我所需要的。所以請不要使用它。
我試圖用調試幾個正則表達式:調試Perl的正則表達式
perl -Mre=debug file.pl
的file.pl腳本有許多正則表達式。其中一些重複。使用上面的語法,正在調試file.pl中的所有正則表達式。
有沒有辦法讓Perl調試腳本中的特定正則表達式?
我熟悉YAPE :: Regex模塊,但這不是我所需要的。所以請不要使用它。
與許多其他編譯指示一樣,您可以使用no
取消以前的use
。
use re 'debug';
$str=~/\d{3}/;
no re 'debug';
$str=~/\d{3}/;
作爲5.9.5指令重新使用「調試」和其等價物詞法作用域,作爲其他指令是。
用途:
{
use re 'debug';
# Debugged regexp here.
}
這也支持在5.8.8?我把它放在一個條件下,但它是 – AnonGeek
不可以,自5.9.5版本開始在5.8.8中,您需要使用'no'語句。 –
爲什麼不註釋掉其他正則表達式,或者只運行在命令行上特定的正則表達式,通過'perl的-e'? –
腳本非常複雜(12000 LOC)。如果我將註釋掉任何正則表達式然後執行將失敗..如果我提供虛擬值,那麼它會給出意想不到的結果:( – AnonGeek