2013-07-26 5 views
0

관련 데이터가있는 두 개의 배열이 있습니다. html 테이블에 삽입해야합니다. 포럼을 검색하여 찾은 모듈을 사용하여 다른 프로그램에서이 배열에 액세스하고 있습니다.html 테이블 perl의 열에 두 개의 배열 삽입

package My::Module; 
use strict; 
use warnings; 
use File::Slurp; 
use Data::Dumper; 
use Exporter; 

our @ISA = 'Exporter'; 
our @EXPORT = qw(\@owners \@values); 
our(@owners, @values); 
$Data::Dumper::Indent = 1; 

my @fileDatas = read_file("/x/home/venganesan/output.txt"); 

이 파일은 My 폴더에 있으며, Module.pm이라는 이름으로되어 있습니다. 테이블이있을 것이다 다른 파일의 부분은 그냥 어떻게 작동하는지보기 위해 하나 개의 배열을 인쇄하려고하고 다른 사람을 포함하고

use strict; 
use warnings; 
use CGI; 
use My::Module; 
my $q = new CGI; 

print $q->header; 
print $q->start_html(-title=>"Table testing", -style =>{'src'=> '/x/home/venganesan/style.css'}); 

print $q->h1("Modified WOWO diff"); 
print $q->table(  {-border=>1, cellpadding=>3}, 
     $q->Tr($q->th(['WOWODiff', 'Owner', 'Signoff'])), 
     foreach $own(@owners){ 
     $q->Tr(
     $q->td([$own,'Two', 'Three'])}, 
     $q->td(['four', 'Five', 'Six']), 

     ), 

있습니다. 내가 얻는 결과물은 Module.pm을 사용할 때 html이없는 명령 행의 배열입니다. 만약 내가 그것을 제거, 나는 HTML 코드를 얻을. 나는 펄과 새로운 모듈을 즉시 배우고있다. 나는 코드를 구현하는 비판과 더 나은 방법에 대해 개방적이다.

+0

'qw (...) '표현식 안에서'@'를 이스케이프해서는 안됩니다. – mob

+0

@mob 변경했습니다. 출력은 여전히 ​​동일합니다. – venkatvg

답변

0

2013 년입니다. 요즘은 CGI.pm을 사용하여 HTML을 생성하지 않아야합니다. CGI.pm을 사용하여 헤더를 생성하고 CGI 요청을 구문 분석 할 수 있지만 HTML 용 Template Toolkit과 같은 것을 사용해보십시오.

귀하의 질문에 명확하지 않습니다. My :: Module을 사용하면 오류가 발생한다고 말하는 것입니까? (그런데 끔찍한 이름입니다). 이 경우 웹 서버의 오류 로그에 무엇이 기록되는지 확인하고 거기에 주어진 문제를 해결해야합니다.

+0

나는 perl에서 html을 사용하기위한 검색을했고 예제를 발견했다. 방금 필요에 따라 수정하려고했습니다. 전체 구조는 그 예에서 나온 것입니다. 나는 HTML :: Template을 사용할 것이고 제안에 감사 할 것이다. 내 질문 : 나는 HTML 테이블에 열로 표시 할 필요가 두 배열이 있습니다. 현재 시나리오는 My :: Module이 제거되고 프로그램의 html 태그가 인쇄 될 때 콘솔에 두 개의 배열을 인쇄합니다. – venkatvg

+0

나는 http://www.sitepoint.com/introducing-html-template/을 사용해 보았습니다. html 템플릿을 사용하는 것이 훨씬 쉬웠습니다. 도와 주셔서 감사합니다. – venkatvg

+0

어? HTML :: Template보다 사용하기 쉬운 HTML :: Template을 발견하셨습니까? Template Toolkit - http://tt2.org/을 보셨습니까? –