2014-01-27 2 views
0

텍스트 파일의 전체 줄을 변수에 포함 된 문자열로 바꿔야합니다. 코드에서 내 시도는 아래와 같습니다. 그러나 나는 아무것도 얻지 못합니다. 뭐가 없니?Perl을 사용하여 전체 줄을 문자열로 바꿉니다.

my @a; 
$ldir= "/project/"; 
$RESULTS_FILE = $ldir.'/'.'out.html'; 
open OUT, "<", $RESULTS_FILE or die "Could not open results file:$!"; 
     while ($ln=<OUT>) 
     { 
       chomp($ln); 
       for my $str (@stream_name) 
       { 
         if ($ln =~ m/$str/) 
         { 
           $str =~ s/(.)/$1: NOT-RUN/g; 

         } 
       } 
       push @a, $str; 
       #push @a, $ln; 
     } 
     open F, ">results.html" || die "$!"; 
     print "\n\n\nContents of Array is:@a\n\n\n"; 
     for my $e (@a) 
     { 
       print F "$e\n"; 
     } 
     close F; 
+0

'@ stream_name '이 (가) 어떻게 설정 되었습니까? 코드의 중요한 부분을 생략하지 마십시오! –

+0

과 함께 사용할 샘플 데이터를 제공하십시오. ============================
:

<폰트 색상 = 파란색> 스트림 : 여기 – slayedbylucifer

+0

데이터 인 =========================
dif6.ts : <폰트 색 녹색 => PASS


<폰트 색상 = 파랑> A 스트림 :
====================== =============
O-6.wma : PASS
============================== =======
te_2.wma : <폰트 색 녹색 => PASS
========================= ===============
===================== ======
Sharath

답변

0

이 줄 :

push @a, $str; 

for 루프의 외부입니다. 당신은 정말로 use strict이 오류가 당신을 위해 잡힌하고 너무 많이 고생 할 필요가 없어야합니다.

+0

작동하지 않습니다. for 루프를 배치 한 후 마지막 행만 인쇄하려고합니다. – Sharath

+0

완전히 실행 가능한 코드를 포함하십시오. 그렇지 않으면 우리는 단지 빨대를 쥐고 ​​있으며 잠시 동안 여기를왔다 갔다 할 수 있습니다. – bluefeet

관련 문제