文字列を ` `
で囲んだ場合、
まずダブルクォートと全く同じ変数置換が行われる。次にシェルの場合と同じく、
コマンドであると解釈され、そのコマンドの出力がこの擬似表現の値となる。
スカラーのコンテキストでは、全出力が入った 1 つの文字列が返る。
配列のコンテキストでは、出力の 1 行を 1 要素とした配列値が返る。
(他の行ターミネータを使う場合には $/
をセットする。)See section $/ : 入力レコードのセパレータ.
コマンドは擬似表現が評価されるたびに実行される。
コマンドのステータスは $?
に返る。(See section $? : パイプのクローズ、system 関数などで返ったステータス.)
csh の場合とは異なり、返ってくるデータには置換は一切行われない。---
改行は改行のままである。どのシェルとも異なり、
シングルクォートで囲んでもコマンド内の変数名は変換されてしまう。
$
をシェルに渡すには、バックスラッシュを使う必要がある。