WEB相談室

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

タイトル:Perlのエラー

0:[投稿] 283 [2004/11/13 00:49 ][環境:わからない Perl]

この6個の数字の中から50より上の数字だけを取り出して
その合計を求めるやつを作りたいのですがこれでは動きませんでした
どなたかわかる人教えてください
お願いします
#! c:/perl/bin/perl

@suji = ('100','50','25','70','125','10');
#サーバー出力
print "Content-type: text/html\n\n";
print "<DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\">\n";
print "<html>\n";
print "<head><title>kadai1</title></head>\n";
print "<body><p>合計は<big>$i</big>です。</p>\n<p>";

$i = $suji;
if($i >= 50){
++$i;
}

print "</p></body>\n";
print "</html>";


1:[回答] 七鍵 [2004/11/13 02:29 ]

$lng = @suji;#配列の個数
$pre = 0;#合計表示用
for($i=0;$i<$lng;$i++){
   if($suji[$i] >= 50){$pre += $suji[$i];}
}

print "合計は$preです\n";

こんな記述になるのでは?


2:[回答] hoge [2004/11/15 09:11 ]

$lng = @suji;#配列の個数

とわざわざせずとも
for($i=0;$i<=$#suji;$i++){
}

でよいのでは?

283さんの記述を見る限り、Perlのことをよくご存知でないですね。
配列の使い方を勉強された方がよいでしょう。


3:[回答] 通りすがり [2004/11/16 17:17 ]

for(@suji) とか foreach(@suji) とかでいいじゃん。Perlなんだし。

ま、敢えてどちらも使わず書きますが…
print "合計は", (eval join "+", grep { $_ >= 50 } @suji), "です\n";
こんなデタラメな記述でも動くとか。ビバ!Perl。

> @suji = ('100','50','25','70','125','10');
配列以前に型のお勉強を推薦したいのですが、これまたPerlなんで実はどうでもよさげ。

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]

ChaichanPAPA's World