• ベストアンサー

Perlで変数に放り込む際の詳細

uuyn2006の回答

  • uuyn2006
  • ベストアンサー率50% (24/48)
回答No.2

この場合は変数$aに入るのは「あいう」と言う文字列だけです。 「"あいう"」と入れたい場合は「"\"あいう\""」としなければなりません(ややこしいですが・・・ 「¥」とはエスケープシーケンスと呼ばれるもので、\nとか\tとか、特別なものに使われます。 ご質問のPerlなどの言語に使われる場合、通常文字列と数値は別で考えますので、文字列と数値を分ける記号が必要になります。 その記号が「"」ダブルクォーテーションです。 ちなみに、Perlの場合、他にも「"あいう"」を変数に入れる方法があります。 $a=qq|"あいう"|;とすれば入るはずです。

abesouri
質問者

お礼

ありがとうございます。 変数を一つの箱と絵にして書いたとき、 なかにはいっている値は あいう だけでよろしいのでしょうか。 イメージ画として書いた場合です。 宜しくお願い致します。

関連するQ&A

  • perlの内容なのですがこれで合っていますでしょうか?

    print 関数は文字列や数値だけでなく、変数を指定してその値を表示することもできます。 $a=1; 1を$aに代入する。 print $a; 変数$aの値を表示させる。 $a=2; 変数$aに2を代入する。 $b=3; 変数$bに3を代入する。 print "変数\$aに変数\$bを代入\n"; 「変数$aに変数$bを代入」という文字を表示させて改行する。 $a=$b; 変数$bの値を変数$aに代入する。 print "\$a="; 「$a=」を表示させる。 print $a; 変数$aの値を表示させる。 print ",\$b="; 「,$b=」を表示させる。 print $b; 変数$bの値を表示させる。 print "\n"; 改行を表示させる。 実行結果は↓↓↓↓↓↓↓ 変数$aに変数$bを代入 $a=3,$b=3 変数の書き方 文は ; で区切るが、1行に並べることも可能。 $a=2; $b=3; ↓ $a=2; $b=3; 複数の変数に、同時に値を代入することも可能。 $a=2; $b=2; ↓ $a=$b=2;

    • ベストアンサー
    • Perl
  • 変数に入っている変数の値を参照したい場合には

    var a1="123"; var a2="789"; と 変数に文字が登録されている場合、 引数として、1又は2を渡し、 1の場合にはa1を 2の場合にはa2の値を 参照することは可能ですか? switchやif文を使わずに、 別の変数に、"a"+引数を代入し、 その変数に代入されている変数を参照する というようなことは可能ですか? 意味わかりますか? すみません。 よろしくお願い致します。

  • Perlインクリメントデクリメント

    あっていますでしょうか? インクリメント演算子とデクリメント演算子 インクリメント(加算)演算子は変数の数値を一つ増やす。 デクリメント(減算)演算子は変数の数値を一つ減らす。 ++ インクリメント演算子 変数の値を1増やす $a++ ++$a $aの値を1増やす -- デクリメント演算子 変数の値を1減らす $a-- --$a $aの値を1減らす $a=1; 変数$aに1を代入する print "はじめは$aでした。\n"; $aの代わりに1が入り はじめは1でした。と表示する。 $a++; $aに1を足す。 print "1増えて$aになりました。\n"; $aの代わりに2が入り、1増えて2になりました。 と表示する。 $a--; $aから1減らす。 print "1減って$aに戻りました。\n"; $aの代わりに1を入れて 1減って1に戻りました。 と表示する ↓ 実行結果 ↓ はじめは1でした。 1増えて2になりました。 1減って1に戻りました。 $a++ と ++$a の違い インクリメント演算子、デクリメント演算子には2通りの書き方があります。 ++$a(前置)と$a++(後置) --$a(前置)と$a--(後置) 前置の場合は変数の参照より先に演算が行われます。 後置の場合は変数の参照より後に演算が行われます。 $x=$a=1; 変数$xと$aに1を代入する。 $x=++$a; $aに1を足した後に$xに代入する。$xの値は2になる。 $x=$a=1; 変数$xと$aに1を代入する。 $x=$a++; 変数$aの値を$xに代入した後に$aに1を足す。$xの値は1。 文字もインクリメント出来ます。 $x="A"; "A"を$xに代入する。 $x=++$x; Aから一つ増やしてBにして$xに代入する。 $x="aaa"; "aaa"を$xに代入する。 "aaa"を一つ増やして"aab"を$xに代入する。 ただし、文字のデクリメントはできません。

    • ベストアンサー
    • Perl
  • JavaScript変数

    // ---------------------------------------- // [変数 - 右辺が変数を使った式2] // ---------------------------------------- // 変数a2に変数aの値を2倍した結果を代入してください let a = 256; let a2 =; console.log("aを2倍すると" + a2); let a2 = a % 2 === 0;は違います。 変数a2に変数aの値を2倍した結果になるのでしょうか?

  • 別々の変数なのに同じ内容がセットされてしまう

    OS:Win7 Pro(32bit) VB.net:Visual Studio 2010 現在、vb.net2010を使用して、あるアプリケーションの改造を行っておりますが、 二つの別々の変数にもかかわらず、一方の変数に値をセットすると もう一方の変数にも値がセットされるという現象が発生しています。 APの構造は以下の通り(概略) Dim 変数A as list(Of cSubStr_A)(パブリック変数) Private Sub ルーチンA Dim  変数B as cSubStr_B 変数B.SubString. = 変数A.SubString(インデックス) 変数B.SubString.left = 123 End Sub 変数Aについては、他のサブルーチンなどで値がセットされています。 変数A、変数Bの配下には、leftという変数があります。 現在、変数B.SubString.left = 123が実行されたときに、 変数A.SubString.leftに対しても同じ値がセットされてしまいます。 (ステップ実行で確認) 他のプログラマが作成したものなので、 詳細は現在不明なのですが、変数Aと変数Bは別の変数なのに、 どうして変数B配下の変数に値がセットされると、変数Aに 反映されてしまうのかがわかりません。 別の人に聞いてみたのですが、変数名は違うけれど、 アドレスが同じところを見ているので、こういう現象になるのでは? という指摘がありました。 今までこういう現象にで合ったことがないので、 手がかりがつかめない状態です。 なにかヒントがあれば、お教え願えればと 思います。 以上、よろしくお願い申し上げます。

  • PHP staticな変数

    phpでstaticな変数について教えてください。 ユーザの情報をstaticな変数に格納した際に、誰からでも参照できてしまうのでしょうか? 例えば今ログイン情報を格納するstatic変数があり、ログイン情報を取得してそのstatic変数に値を格納するstaticなメソッドがあるとします。このメソッドは、その変数にまだ値がない場合に、ログイン情報取得してそのあとその変数へ格納し、その変数にすでに値があった場合に、その変数の中身を返す仕様だとします。最初のユーザAがアクセスしてきてその変数にAの情報を格納します。ほぼどうじにユーザBがアクセスしてきた場合は、そのメソッドを呼んだ際に直前に格納されたAの情報が取れてしまうのでしょうか?それともそのstaticな変数にはまだ何もないのでしょうか?よく分かりません。私は間違って理解してしまってるのでしょうか?宜しくお願いします。

    • ベストアンサー
    • PHP
  • Perlのハッシュ変数のソートについて

    ハッシュ変数の並べ替えをやりたいです。ただ、値の長さでソートをしたいのです。 my %tan_syouhin = ( '佐賀' => 'あいうえお', '滋賀' => 'かき', '無我' => 'さしすせそそそ', '千賀' => 'うりるら', '日我' => 'ぜるだんぽ' ); というハッシュ変数があって「値の長さ」でソートするにはどうしたら良いでしょうか?

    • ベストアンサー
    • Perl
  • 配列変数に変換

    $a=123という値が入ってきた場合@A=(1,2,3)、 $a=1234の場合@A=(1,2,3,4)という配列変数にしたいと思います。 どのように記述すれば良いのでしょうか?

    • ベストアンサー
    • Perl
  • static 変数について

    static 変数について 今、C++を勉強しているのですか、static変数がどのように動くのかよくわかりません。 下のプログラムのint a はローカル変数だから、ブロックを抜けたら、初期化されるためstatic変数にして、ブロックを抜けても値を保持するようにすってことはわかるのですが 毎回このブロックに入る度、static int a = 0;を読むことになり、その前に入っていた値はなくなるのではないでしょうか?それとも,static int a と書かれていると,1度しか実行されないから、値が保持され続けるのでしょうか? int add (int x ) { int a = 0; a += x; return a; }

  • perl スカラー変数の値をくっつける ストリング

    スカラー変数$valueの値が、 タイトル,名前,メールアドレス,コメント というストリングだったとします。 そのストリングの先頭に、 スカラー変数$cntの値(例えば数値の1)を挿入して、以下のようにしたいと思います。 1,タイトル,名前,メールアドレス,コメント この$valueと$cntをあわせたストリングを $allという変数に格納する場合、 $all=$cnt + "," + $value と書くのでいいのでしょうか? ちょっとActionScriptとごっちゃになっていて、 perlにおけるくっつけ方がわからなくなってしまっています。 お助けください。

    • ベストアンサー
    • CGI