2012-09-05 14 views
0

파일에 공백이없고 해당 배열의 모든 단어를 유지해야합니까? 내용이 var에 있지만 파일이 더 큽니다.Perl LWP :: Simple File.txt in Array 공백이 아님

my $file = "http://www.ausa.com.ar/autopista/carteleria/plano/mime.txt"; 

&VPM4362=008000&VPM4381=FFFFFF&VPM4372=FFFFFF&VPM4391=008000&VPM4382=FFFF00&VPM4392=FF0000&VPM4182=FFFFFF&VPM4181=FFFF00&VPM4402=FFFFFF&VPM4401=FFFF00&VPM4412=008000&VPM4411=FF0000&VPM4422=FFFFFF&VPM4421=FFFFFF&VPM4322=FFFF00&CPMV001_1_Ico=112&CPMV001_1_1=AHORRE 15%&CPMV001_1_2=ADHIERASE AUPASS&CPMV001_1_3=AUPASS.COM.AR&CPMV002_1_Ico=0&CPMV002_1_1=ATENCION&CPMV002_1_2=RADARES&CPMV002_1_3=OPERANDO&CPMV003_1_Ico=0&CPMV003_1_1=ATENCION&CPMV003_1_2=RADARES&CPMV003_1_3=OPERANDO&CPMV004_1_Ico=255&CPMV004_1_1= &CPMV004_1_2=&CPMV004_1_3=&CPMV05 _1_Ico=0&CPMV05 _1_1=ATENCION&CPMV05 _1_2=RADARES&CPMV05 _1_3=OPERANDO&CPMV006_1_Ico=0&CPMV006_1_1=ATENCION&CPMV006_1_2=RADARES&CPMV006_1_3=OPERANDO&CPMV007_1_Ico=0&CPMV007_1_1=ATENCION&CPMV007_1_2=RADARES&CPMV007_1_3=OPERANDO&CPMV08 _1_Ico=0&CPMV08 _1_1=ATENCION&CPMV08 

코드입니다.

#!/bash/perl .T 
use strict; 
use warnings; 
use LWP::Simple; 

my $file = "http://www.ausa.com.ar/autopista/carteleria/plano/mime.txt"; 
my $mime = get($file); 

my @new; 

foreach my $line ($mime) { 
    $line =~ s/&/ /g; 
    push(@new, $line); 
} 
print "$new[0]\n"; 

이 방법을 시도하지만 난 시작할 때 배열

내가 원하지 않는

print "$new[1]\n"; 
VPM4381=FFFFFF 
+1

죄송합니다. 귀하의 설명이 명확하지 않으며 문제를 설명하지 않았습니다. 먼저 샘플 입력과 그 입력에서 기대하는 출력을 보여줍니다. – ikegami

+0

파일 *에 공백이 있고 한 줄로 구성되어 있습니다. 그래서 당신의 프로그램은 정확하고 입력은 그렇지 않습니다. – Matteo

+0

문자를 지울 때 공간을 열어 배열에 저장하면 0 요소가 시작되지만 모든 내용이 함께 나옵니다 – opmeitle

답변

4

&에 대체해야 출력, 당신이 원하는 (모두 함께)와 동일 ~ split ~ &.

@new = split /&/, $line; 
+0

UPS 매우 쉽습니다. 정말 고마워요, 고마워요! – opmeitle

+0

여전히 첫 번째 요소는'' ''이므로,'unshift @new, grep {$ _ ne' '} split (/ & /, $ line);'을 사용하여 제거 할 수 있습니다. – simbabque