DATA 전문가로 가는 길

[ Perl ] 텍스트 문자열 파싱 작업(이메일 주소 검출) 본문

Programming/Perl

[ Perl ] 텍스트 문자열 파싱 작업(이메일 주소 검출)

EstenPark 2009. 6. 16. 21:43




1. 댓글 이메일 주소 형식

 닉네임 [ 이메일 주소 ] 댓글


2. test.log 파일의 내용( 원본 데이터 )

 
  • 송중훈 2009/06/13 14:46 address edit & del reply

    송중훈 [jh910101@hotmail.com] 정말 감사드립니다. 소장가치 200%!! 수고하셨습니다! :)

  • 그냥사람 2009/06/13 14:49 address edit & del reply

    그냥사람 [shum3080@hanmail.net] 기다느니라고 많이 지쳐있었는데 오늘 보게되네요 ㅎ 정말 고생하셨습니다! 감사합니다~~!

  • 신수홍 2009/06/13 14:53 address edit & del reply

    신수홍 [in_mylife_@naver.com] 동영상 최강입니다 ^-^ 정말 지금껏 그 어느 동영상보다 소장가치가 뛰어나네요 이 동영상을 만드실때 드신 노고와 수고를 다시한번 느껴보기위해 이렇게 링크주소를 남깁니다.


  • 3. 파일 파싱 작업

      - 데이터 파일을 읽어 와서 ("[" -> "]") 안에 결과를 출력 하는 부분 입니다.

      - 어떤 분들은 공백을 넣었고[ test@test.com ] 어떤 분들은 공백 없이 넣었기[test@test.com]때문에 공백 제거하는 부분을 추가 하였습니다.

     
    #!/usr/bin/perl
    
    use strict;
    use warnings;
    
    my $local_fn = 'test.log';
    
    open (my $FH , '<' , $local_fn) || die $!;
    my @data = <$FH>;
    close $FH;
    
    #print map /^.*(\[)(.+)(\]).*$/, @data;
    #print grep /^.*(\[)(.+)(\]).*$/, @data;
    
    my @result = map m/\[(.+)\]/g, @data;
    
    print join ", ",trim( @result);
    
    sub trim {
      my @result = @_;
    
      foreach (@result) {
        s/^\s+//;          # 앞쪽 공백 지우기
        s/\s+$//;          # 뒤쪽 공백 지우기
      }
    
      return wantarray ? @result : $result[0];
    }
    




    4. 결과

     wavepss@naver.com, testtddddddest@naver.com
    (.+)

    전체 메일을 보내기 위해서 메일 주소 다음에 (,)를 넣었습니다.


     참고 자료
    ================================================================================
                 사이트                                                      이름
    ================================================================================
    http://aero.springnote.com/                                                       (aero님)
    http://mwultong.blogspot.com/2007/01/perl-trim-leading-trailing-spaces.html
    http://doc.perl.kr/twiki/bin/view/Wiki/HowToStartPerl                  (펄덕펄덕)
    http://cafe.naver.com/perlstudy.cafe                                 (대한민국Perl커뮤니티)
    ================================================================================

     




    Comments