2017-11-21 1 views
-3

다음은 내 루프 (perl-CGI 스크립트의 일부로 작성 됨)입니다. html 표 태그를 사용하여 내 웹 페이지의 표에 인쇄하고 싶습니다. 어떻게해야합니까?HTML 태그를 사용하여 테이블 형식의 루프에 대한 CGI 스크립트 당 출력을 인쇄하는 방법

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]'는 하나의 열이고'$ 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을 알 필요도 없습니다.

관련 문제