2016-08-19 2 views
-4

일부 스크립트를 실행하여 perl을 사용하여 저장 용량 보고서 및 구성 설정 보고서를 생성했습니다. 나는 perl을 사용하여 html로 메일 ID에이 보고서를 보내고 싶다.perl을 사용하여 txt 파일을 html로 변환하는 방법

필자는 Perl 프로그래밍을 처음 접했습니다.

+0

'신고'의 모습은 어떻습니까? 표 형식으로 그려지는 무엇인가? 자세한 정보로 질문을 편집하십시오. – iMan

+0

txt 파일을 html로 변환하려고하거나 텍스트 파일을 첨부하여 html 전자 메일을 보내시겠습니까? – AbhiNickz

+0

질문을 분리해야합니다. 지금은 명확하지 않습니다. 1) perl을 사용하여 텍스트를 html로 변환해야합니다. 2) perl을 사용하여 전자 메일로 파일을 보내시겠습니까? 그 맞습니까? –

답변

2

귀하의 질문은 매우 모호하므로 많은 도움이 될 수 없습니다. 이것은 올바른 방향으로 당신을 가리킬 수도 있습니다.

기본적으로 세 가지 작업이 있습니다.

  1. 보고서를 데이터 구조로 구문 분석하십시오.
  2. 데이터 구조를 사용하여 HTML 문서를 생성하십시오.
  3. 전자 메일로 HTML 문서를 보냅니다.

귀하의 신고에 대해 알지 못해서 1 단계를 도와 드릴 수 없습니다. 파일이 CSV 형식 인 경우 Text:CSV이 유용 할 것입니다. 이 보고서를 생성하는 경우 구문 분석이 쉬운 형식 (예 : JSON)으로 생성 할 수 있습니다.

2 단계에서 템플릿 엔진을 사용하는 것이 좋습니다. Template Toolkit을 사용 하겠지만 다른 옵션을 사용할 수 있습니다. 아이디어는 가변 데이터를 원하는 "태그"가있는 모든 HTML을 포함하는 템플릿 파일을 만드는 것입니다. 그 email.tt라는 파일에의 가정

<html> 
    <head><title>Some Title</title></head> 
    <body> 
    <h1>Some Title</h1> 
    <p>Blah...</p> 
    <table> 
[% FOREACH row IN data -%] 
     <tr><td>[% row.value %]</td><td>[% row.another_value %]</td></tr> 
[% END -%] 
    <table> 
    </body> 
</html> 

당신은 다음과 같은 템플릿을 처리하는 것, @data라는 해시의 배열에 데이터를 가지고 : 간단한 수준에서 그것은 다음과 같이 보일 수

use Template; 

@data = ({ 
    value => 'something', 
    another_value => 'something else', 
}, { 
    value => 'something', 
    another_value => 'something else', 
}); 

my $tt = Template->new; 

$tt->process('email.tt', { data => \@data }, \$email_body) 
    or die $tt->error; 

이렇게하면 $email_body에 확장 된 HTML이 제공됩니다. 그리고 3 단계로 나아갑니다.

나는 이메일을 보내기 위해서 Email::Stuffer을 추천한다.

use Email::Stuffer; 

Email::Stuffer->from  ('[email protected]') 
       ->to  ('[email protected]') 
       ->html_body($email_body) 
       ->send; 
관련 문제