-PR-
解決済み

perl内のhtml文を、ループさせたいのですが、これってできないんでしょうか?

  • 困ってます
  • 質問No.99620
  • 閲覧数67
  • ありがとう数2
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 30% (17/55)

たびたび申し訳ありません。周りに聞く人もいなく、まったくの初心者ですので、なにとぞお願いいたします。
下記の「ここから~ここまで」の$iの値を変えながらループさせたいのですが、まったくうまくいきません。なにかいい方法あったら教えてください。
それとも、こんな書き方じゃダメなんでしょうか?

#!/user/bin/perl
open(IN,"data.csv");
#flock IN,2;
@line = <IN>;
#flock IN,8;
close(IN);
$cnt = 0;
foreach(@line){
($sina[$cnt],$jpg[$cnt],$pr[$cnt],$kakaku[$cnt]) = split(/\,/,$_);
$cnt++;
}

print<<"EOF";
Content-type: text/html

<HTML>
<HEAD>
<TITLE>やぁ!</TITLE>
</HEAD>
<BODY>
EOF
###################ここから
print<<"EOF";

<TABLE border="1">
<COL span="4" width="100">
<TBODY>
<TR>
<TD width="300">$sina[$i]</TD>
<TD width="300">$jpg[$i]</TD>
<TD width="300">$pr[$i]</TD>
<TD width="300">$kakaku[$i]</TD>
</TR>
</TBODY>
</TABLE>
EOF
##################ここまで
print<<"EOF";

</BODY>
</HTML>
EOF
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.2
レベル12

ベストアンサー率 75% (398/526)

ループさせたいのなら、ループの命令を使いましょう(^^;
for ($i=0; $i<@sina; $i++) {
  # ここから
    :

  # ここまで
}

 ただこれだとテーブルがたくさん出来てしまうので、makitoさんが回答されているように、<TR>~</TR>のループでいいような気もしますが。
お礼コメント
Iam2888

お礼率 30% (17/55)

$#を使わないでの方法ありがとうございます。
$#はみなさん多用しているみたいですけど、文献で調べてみると$#は時代遅れなので今後使わないようにとの文があり、初心者にとって、なんとなく不安なものがありました。助かります。
投稿日時 - 2001-07-04 23:39:06
-PR-
-PR-

その他の回答 (全1件)

  • 回答No.1
レベル6

ベストアンサー率 21% (3/14)

この前回答させていただいた、初心者です。(^^;

###################ここから
print<<"EOF";
<TABLE border="1">
<COL span="4" width="100">
<TBODY>
EOF

for($i = 0; $i<=$#sina; $i++){
print<<"EOF";
<TR>
<TD width="300">$sina[$i]</TD>
<TD width="300">$jpg[$i]</TD>
<TD width="300">$pr[$i]</TD>
<TD width="300">$kakaku[$i]</TD>
</TR>
EOF
}
print<<"EOF";
</TBODY>
</TABLE>
EOF
##################ここまで

自分ならこうします。
print<<"EOF";
EOF
この間は、別にループするとかそういうことはやらないので、自分でループさせる必要があります。
そこで、for文を使いますが、$#sinaというのは、
@sinaの最後の添え字を表しています。
つまり、10個データがあれば、0,1,2・・・・9ですから、$#sinaには9が入ります。
for文で$iを0から$#sinaまで増やすと、データを全部
書き出すのに便利です。

あと、これくらいの事なら、専門書に載ってますので、
もしお買いになってなければ買ってみてはどうでしょうか?
お礼コメント
Iam2888

お礼率 30% (17/55)

どもすみません。ありがとうございます。
その前に自分でfor文でやってみたんですが、どうもうまくいきませんでした。
うまくいかないもんなので、もしかして、htmlのループじたいができないのかと思ったしだいです。
ちなみに、本はいっぱい買い込みました。ただし初心者用です(笑)
つまんない質問でどうもすみませんでした、ありがとうございます。
投稿日時 - 2001-07-04 23:33:35


このQ&Aで解決しましたか?
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


専門家があなたの悩みに回答!

-PR-

ピックアップ

-PR-
ページ先頭へ