@私は次のようなものでperlスクリプトを持っている:のperl エスケープシーケンス
" \"blah\@$string;blah\" "
しかし、私は\@
を行うことになって/何をしているのかわかりません。
私はグーグル「\@
」を試しましたが、何も見つかりませんでした。
@私は次のようなものでperlスクリプトを持っている:のperl エスケープシーケンス
" \"blah\@$string;blah\" "
しかし、私は\@
を行うことになって/何をしているのかわかりません。
私はグーグル「\@
」を試しましたが、何も見つかりませんでした。
@
には、「参照番号$string
を配列参照」ではなく「アットマーク」を意味します。
@
より前のバックスラッシュは、Perlに文字どおりの処理を指示します。それ以外の場合は、それを配列として扱います。 @
の後に$
がある場合は、配列参照(配列への参照を保持する文字列)として扱われます。あなたはそれをプリントアウトした場合には、(私がqq||
を使用するようにコードを変更した)明確にすることがあります。
my $string = 'i-am-a-string';
print qq| "blah\@$string;blah" |; # with backslash
# "[email protected];blah"
print qq| "[email protected]$string;blah" |; # no backslash
# Can't use string ("i-am-a-string") as an ARRAY ref
$string = [1,2,3]; # string now an array reference
print qq| "blah\@$string;blah" |; # with backslash
# "[email protected](0x803bc0);blah" # ARRAY(0x803bc0) is where (1,2,3) lives
print qq| "[email protected]$string;blah" |; # no backslash
# "blah1 2 3;blah"
そうでもない答えを、私は個人的に[「何とか\する@ $文字列QQ 'としてその文字列を記述します。最初の二重引用符をエスケープする必要性を避けるために、 "blah"] ' Perlでは、qq []は ""と同じで、qq []、qq()、qq {}、qq //、qq ^^、qq !!、qq ||などの区切り文字を選択することができます。 。 – zostay