• ベストアンサー

Perl あっていますでしょうか?

" " と ' ' の相違は? ""の内にある変数名は、その値に変換されます。 ''の内にあるものは、そのまま文字列として扱われます。 エスケープシーケンスは "" の内に記述した場合のみです。 $a="Hello"; 文字列Helloを変数$aに代入する。 $b="$a"; 変数$aを変数$bに代入する。 $c='$a'; $aという文字列を変数$cに代入する。 ""の内で""を使うことは出来ません。 ''の内で''も使うことは出来ません。 使うときはエスケープシーケンスを使います。 print "\"Hello\"\n"; 文字列"Hello"を表示させます。 print "'Hello'"; 'Hello'を表示させます。 ""の内で''又は''の内で""を使うことは出来ます。 $a="あいうえお"; 文字列 あいうえお を変数$aに代入する。 print "\n$a\n"; 改行して あいうえお表示して 改行する。 print '\n$a'; 文字列\n$aを表示する。 文字列の結合 . (ピリオド)を使って前後の文字列を連結することが可能です。 $a="Hello"." "."World"; 変数$aに文字列Helloと半角スペースとWorldをつないだものを代入します。 $a="c"x3; 変数$aに文字cを3回つないだものを代入します。 $a="A"; 文字Aを変数$aに代入する。 $b="B"; 文字Bを変数$bに代入する。 $c="C"; 文字Cを変数$cに代入する。 print $a.$bx3.$c; 文字Aと文字Bを3回結合したものと文字Cを表示する。 画面にはabbbcと表示されます。

質問者が選んだベストアンサー

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

だいたいOKだと思いますが >print $a.$bx3.$c; の $bx3 は、 ($b x 3) の様にしないと1つの変数名だと解釈される(カッコは、文字列の結合する部分を勘違いするのでつける)ので、 説明にあるような動作にはなりません。

tosutemu
質問者

お礼

そうでした。有難うございます。

その他の回答 (2)

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.3

> $b="$a"; > 変数$aを変数$bに代入する。 に関してですが、単に変数の値を別の変数に代入するのであれば ダブルクォートでくくることは必要ではなく、逆にムダがでます。 素直に $a = $b; としたほうが良いです。 このようなvariable interpolation は print "変数 \$aの値は$aです。"; のようなときに使います。 あと、$a, $b という変数名は使わないほうが無難です。

tosutemu
質問者

お礼

ありがとうございます。

回答No.1

>Perl あっていますでしょうか? どれも、自分で試してみれば直ぐにわかることです。 他人の答えだけでは、理解した事にはなりませんよ。

tosutemu
質問者

お礼

実行確認するようにします。