Perl は私の DWIM (三項?:
) を見逃し、正規表現を強制します。
perl -e "print $bool ?'T' :'F'"
Use of ?PATTERN? without explicit operator is deprecated at -e line 1.
Search pattern not terminated or ternary operator parsed as search pattern at -e
line 1.
どうしてこんなことに?次の 2 つの例では、三項演算子が正しく解析されています。
perl -e "print $bool ? 'T' :'F'"
perl -e "print [] ?'T' :'F'"
これはWindows上ですが、* nixでもほぼ同じです
perl -e 'print $bool ?"T" :"F"'
したがって、シェル関連のようには見えません。