WEB相談室

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

タイトル:配列と変数の文字列連結について

0:[投稿] atusi [2002/03/26 18:57 ][環境:WIN+IE WIN系+Perl]


$intには整数が入っていて、

これに応じて
@price1
@price2
@price3
@price4
@price5

...

のような形の配列を作り、それぞれの配列に値を代入しようとしましたが
エラーが出ます。

下のように配列には$_を追加したいのですが・・・。
push "@price"."$int" ,$_;

これはどうしたらよいでしょうか???
どうぞよろしくお願いいたします。


1:[回答] ヨシミ [2002/03/26 19:31 ]

連想配列を使うのはいかがでしょうか?

$int = '1';
$_ = 'mother';

$price{"$int"} = $_;

print "hoge $price{1} moge $price{2} page";


2:[回答] たこすけ [2002/03/26 20:43 ]

push @{'price' . $int}, $_;
とか

http://tohoho.wakusei.ne.jp/lng/200003/00030022.htm


3:[回答] ふじ [URL] [2002/03/26 20:51 ]

シンボリックリファレンスを使うと use strict で引っかかるので
(まあ使いたければno strict "refs" すればいいんですけど)、
配列へのリファレンスを保持する配列を @prices として、

push @{$prices[$int]}, $_;

とか。

use strict;

my $int = 1;
my @prices;
push @{$prices[$int]}, 1;
push @{$prices[$int]}, 2;

$int = 2;
push @{$prices[$int]}, 3;
push @{$prices[$int]}, 4;

print $prices[1]->[0]; # == 1
print $prices[1]->[1]; # == 2
print $prices[2]->[0]; # == 3
print $prices[2]->[1]; # == 4


4:[回答] 天上人プサン [2002/03/28 11:08 ]

eval qq{push(\@price$int, $_)};

これでは?


5:[完了] atusi [2002/03/30 15:03 ]

皆様、どうもありがとうございました。

eval について改めて勉強しようと思います。
これほど使えるとは思いませんでした。

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]

ChaichanPAPA's World