2012-12-30 3 views
-2

$a[1]은 항상 (으로 시작하고 $a[5]은 항상 )으로 끝납니다.사용하기 전에 변수에서 문자를 제거하는 방법은 무엇입니까?

줄을 추가하지 않고 제거하는 방법이 있습니까?

while (my $line = <F>) { 

    if ($line =~ m/test /) { 
    my @a = split//, $line; 
     printf("%s %2s %4s %4s %.5s\n",$a[0], $a[1], $a[2], $a[5], $a[13]); 
    } else { 
     print $line; 
    } 
} 
+0

를 사용할 수 있습니까? 어떻게 코드를 변경하지 않고 코드의 동작을 변경할 수 있습니까? – TLP

+0

약간의 샘플 데이터를 제공하면 도움이 될 것입니다. – Borodin

+1

그냥 제안 : 때로는 특정 질문에 대한 질문에 대한 "배경"을 조금 더 제공하면 사람들이 찾고있는 것을 더 잘 이해할 수 있습니다. "간결하고 읽기 쉬운 코드를 보여주는 문서를 게시하려고하는데 다음과 같은 제안이 필요합니다." – DavidO

답변

3

당신은 더 "선"을 추가하지 않고 substr

printf("%s %2s %4s %4s %.5s\n", $a[0], substr($a[1], 1), $a[2], substr($a[5], 0, -1), $a[13]); 
관련 문제