dポイントプレゼントキャンペーン実施中!

データベースから個人情報を配列として受け取って、すべての情報をテーブル
に表示するスクリプトをperlで作っていますが、うまくいきません。

@name=('山田太郎','田中次郎','鈴木三郎')
@mail=('test@test.com','sample@sample.com');
.
.
.
print table({-border=>1},
Tr({-align=>CENTER,-valign=>TOP},
[
td([@name]),
td([@mail]),
]
)
);
とすると、横長になってしまいます。
縦軸に@name,@mailを列としてとりたいのですが、良い方法を教えてください。

A 回答 (1件)

というか、それは使い方が間違ってます。


ちゃんとドキュメント見てください。
---
This is extremely useful for creating tables. For example:

print table({-border=>undef},
caption('When Should You Eat Your Vegetables?'),
Tr({-align=>CENTER,-valign=>TOP},
[
th(['Vegetable', 'Breakfast','Lunch','Dinner']),
td(['Tomatoes' , 'no', 'yes', 'yes']),
td(['Broccoli' , 'no', 'no', 'yes']),
td(['Onions' , 'yes','yes', 'yes'])
]
)
);

---
td メソッドには、横方向にセルに入る順番を無名配列で渡してあげないとダメです。

td メソッドを順に呼び出した配列を Tr の引数として使うので、こうすれば、一応解決はするとは思いますけど。

print table({-border=>1},
Tr({-align=>CENTER,-valign=>TOP},
[map{td([$name[$_], $mail[$_]])}(0..$#name)]
));
    • good
    • 0
この回答へのお礼

早速のご回答ありがとうございます。
使い方が違うとは大変お恥ずかしいです。
無事解決しました。

お礼日時:2002/09/30 17:12

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!