以上回的指令為例,加上 -MO=Deparse 參數,產生如下輸出
>perl -MO=Deparse -0777 -ne "$temp=$1 and $temp=~s/\n//g and print $temp while /(?s)--- -- --(.+?)---/g" abc.ini
BEGIN { $/ = undef; $\ = undef; }
LINE: while (defined($_ = readline ARGV)) {
$temp = $1 and $temp =~ s/\n//g and print $temp while /(?s)--- -- --(.+?)---/g;
}
-e syntax OK
這個選項在除錯時滿有幫助的,例如,我們可以用分號代替 and 關鍵字看看結果
>perl -MO=Deparse -0777 -ne "$temp=$1 ; $temp=~s/\n//g ; print $temp while /(?s)--- -- --(.+?)---/g" abc.ini
BEGIN { $/ = undef; $\ = undef; }
LINE: while (defined($_ = readline ARGV)) {
$temp = $1;
$temp =~ s/\n//g;
print $temp while /(?s)--- -- --(.+?)---/g;
}
-e syntax OK
其中 $1 還沒被定義就使用了,在執行期會發生錯誤。
沒有留言:
張貼留言