基本的な perl スクリプトに問題があります。以下はスクリプトです。
$message = "Hello, World!";
print $message;
問題は、同じ行に自分のユーザー名のコマンドプロンプトが表示されることです。説明した問題のスクリーンショットを提供しました。スクリプトに改行を追加したいだけです。これは可能ですか?
スクリプトに改行を追加したいだけです。これは可能ですか?
はい - 改行文字を使用して\n
ください。
my $msg = "Hello World!\n";
perl での一重引用符と二重引用符の違いに注意してください。上記は改行で印刷されます。でもこれは:
my $msg = 'Hello World!\n';
最後にリテラル \n を出力します。違いは、二重引用符で囲まれた文字列が補間されることです。変数やエスケープ シーケンスなどは、\n
予測どおりに置換されます。一重引用符で囲まれた文字列はそうではありません。
print '$msg';
variable の内容ではなく、文字通り $msg も出力します$msg
。
\n
多かれ少なかれ普遍的です。それが C に由来するのか、それ以前の何かに由来するのかはわかりませんが、それとその他のさまざまなバックスラッシュ文字 (たとえば、\t
タブ) は、シェルを含む、私が知っているすべての言語に共通しています。正しい用語は、実際にはエスケープ シーケンスで\
あり、次の文字の解釈に影響を与えるエスケープ文字です。補間された文字列に単一のバックスラッシュを出力するには、最初にエスケープを使用する必要があります。
print "\\ <- A single backslash\n";
バックスラッシュは、正規表現のエスケープ文字としても使用されます。一重引用符と二重引用符で囲まれた文字列の違いは、バックスラッシュ エスケープほど一般的ではありませんが、他の高水準言語で使用されています。