WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:$$a

0:[投稿] atusi [2002/04/27 12:59 ][環境:WIN+IE UNIX系+Perl]

変数と変数を組み合わせようと、
下のように書きました。

$a = 'abc';
$b = '$'."$a";
$abc = 'test';
print "$b";

この場合、test と画面に表示したいのですが・・・。
$abc と表示されてしまいます。
これはどうしてでしょうか?
(ハッシュを用いずに解決したいのですが、可能でしょうか?)

$b = "$"."a";

とするとエラーが出ましたし、どうしていいかわかりません。
どうぞよろしくお願いいたします。


1:[回答] やじうま1号 [2002/04/27 13:16 ]

$abcに、testという文字が入っていて、$bと$abcは何も繋がっていないのでこうなります(と思う)

$b = $abc
ならtestと表示されます。


2:[完了] atusi [2002/04/27 13:36 ]

本当に失礼しました。

すいません、混乱しておりました。
リファレンスかなぁ、そうでもない、あぁでもないと。。。
以後気をつけます。

失礼しました。
ありがとうございました。


3:[回答] D.D. [2002/04/27 13:39 ]

>>0
$b = '$'."$a";
はつまり
$b = '$'."abc"
だからそうなる。

> ハッシュを用いずに解決したいのですが
なんで?


4:[回答] もえ [2002/05/10 18:12 ]

$abc = 'test';
$a = "abc";
$b = "$a";
print "a=$$b<br>";

これでどうでしょう?


5:[回答] やじうま1号 [2002/05/11 17:49 ]

$$bは、$bが何かのリファレンスと言う事ですが?

$abcにtestが入っていて、$aはabc、$bは$aと一緒で、a=$$b?

1はどうしてそうしたいのか良くわかりませんが、3の方法で解決しているので、、、


6:[回答] jam [2002/05/13 09:02 ]

>$a = 'abc';
>$b = '$'."$a";
>$abc = 'test';
>print "$b";
上記のprint文を
print eval $b;
にすればいいのでは?

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]

ChaichanPAPA's World