2017-11-21 8 views
-3

以下は私のループです(perl-CGIスクリプトの一部として書かれています)。私はHTMLのテーブルタグを使用して私のWebページの表に印刷したい。どうすればいい?CGIスクリプトの出力をHTMLタグを使ってテーブル形式で出力する方法

for($ff=0;$ff<scalar @phi;$ff++) 
{ 

    print $res[$ff],"---->"; 
    printf("%0.2f",$omg[$ff]); 
    print "<br>"; 
    print "\n"; 


} 
+1

[これをチェック](https://stackoverflow.com/questions/44039354/how-to-create-table-for-my-perl-output-using-perl-cgi/44062497#44062497) – mkHun

+1

@mkHun:その答えは、生のHTMLをPerlプログラムに入れていることを示しています。確かに、我々はまだそのアプローチを推奨していないのですか? –

+0

あなたの質問は非常に広いです。あなたは価値のペアのリストを持っているように見え、テーブルにその値を表示したいとします。どのようにそれを見たいですか? '$ res [$ ff]'は1列、 '$ omg [$ ff]'は別の列ですか?見出しはありますか?より多くのデータがありますか?あなたの質問を編集して詳細を記入してください。あなたのお手伝いをさせていただきます。私たちがあなたのためにこのコードを書くことを期待してはいけません。 – simbabque

答えて

1

は、私はあなたが興味のあるデータを含むデータ構造を作成することをお勧めします。

my @rows; 
# Strange that you're getting the indexes from @phi 
# and the data from two different arrays, @res and @omg 
for (0 .. $#phi) { 
    push @rows, { 
    res => $res[$_], 
    omg => sprintf('%0.2f', $omg[$_]), 
    }; 
} 

を次にデータがTemplate Toolkitを使用してプロセスを。

<html> 
    <head> 
    <title>Data Page</title> 
    </head> 
    <body> 
    <h1>Data Page</h1> 
    <table> 
[% FOR row IN rows -%] 
     <tr><td>[% rows.res %]</td><td>[% rows.omg %]</td></tr> 
[% END -%] 
    </table> 
    </body> 
</html> 

これはそれがはるかに容易にデータが提示される方法を変更することができますようにプレゼンテーションの分離:

use Template; 

my $tt = Template->new; 
$tt->process('page.tt', { rows => \%rows }); 

page.ttでは、このようなものを持っているでしょう。テンプレートをフロントエンドのデザイナーに与えて、見た目を良くすることさえでき、Perlを知る必要はありません。

関連する問題