grep의 출력을 변수에 할당하려고하는데 출력으로 숫자가 표시됩니다.변수에서 grep 및 분할 처리로 perl 오류가 발생했습니다.
사례 I :
출력
print (grep !/create/i&&!/or/i &&!/replace/i&&!/package/i&&!/body/i&&!/as/i , split (//, $str1[0]));
케이스 II의 :
my $pname = grep !/create/i&&!/or/i &&!/replace/i&&!/package/i&&!/body/i&&!/as/i , split (//, $str1[0]) ;
print $pname , "\n";
의 문자열 만 출력 차이는 무엇 수
입니다 d 어떻게 문자열을 얻을 수 있습니다.
도움을 주시면 감사하겠습니다.
감사합니다,
Vamshi .D 많은 펄 기능 (및 운영자)처럼
"목록은 스칼라 문맥에서 평가 될 때마다 (예 : 스칼라 변수에 할당로), 그것의 길이를 반환합니다"- 당신이 생각하는 이유를 나는 볼 수 있습니다 사실 (이 경우 grep이 어떻게 작동하는지는 확실합니다.)하지만 이것은 일반적인 경우에는 사실이 아닙니다. 목록은 스칼라 컨텍스트에서 길이를 반환하지 않습니다 ** - 배열입니다. 배열과리스트는 같은 것이 아닙니다 **. 이 개념을 명확히하기 위해 [이 블로그 게시물] (http://perlhacks.com/2013/12/misunderstanding-context/)을 썼습니다. –
@DaveCross 감사합니다. 나는 바로 잡을 것입니다. 나는 실제로 당신의 기사를 몇 주 전에 읽었고 나는 * 여전히 * 잘못 알고있다. doh! –