답변
:
print "this is ",
"one line when printed, ",
"because print takes multiple ",
"arguments and prints them all!\n";
print "however, you can also " .
"concatenate strings together " .
"and print them all as one string.\n";
print <<DOC;
But if you have a lot of text to print,
you can use a "here document" and create
a literal string that runs until the
delimiter that was declared with <<.
DOC
print "..and now we're back to regular code.\n";
설명서에 대한 자세한 내용은 perldoc perlop을 참조하십시오.
그것은 뭔가 문자열을 반환하는 Here Document라고 사용하는 "0030 \ t0039"는 "here-document"을라고, 그리고 연결하는 대안 또는 목록 작업으로 여러 줄에 걸쳐 문자열을 분쇄에 사용되는
외설 그 요점이지. 내 대답을 보라. – tchrist
문자열이 "0030\t0039\n"
(\t
은 탭이고, \n
은 줄 바꿈 (분명히)로 끝나기 때문에 추가되는 새 줄)을 반환합니다.
<<FOO
sometext
FOO
여러 줄의 문자열을 편리하게 작성하는 방법 인 heredoc (여기서는 단 한 줄만 사용함)입니다.
'\ t' 리터럴을 만들기 위해 추가 할 수있는 수정 자도 없습니까? 나는 어딘가에 작은 따옴표를 넣을 필요가 있다는 것을 기억하는 것 같다 ... – Cameron
@Sinan : 예, 했어요. 고쳤다. 감사. – sepp2k
@Cameron : [documentation] (http://perldoc.perl.org/perlop.html# << EOF) : "작은 따옴표는 텍스트가 내용의 보간없이 문자 그대로 취급된다는 것을 나타냅니다. 백 슬래시가 특별한 의미가 없다는 것을 제외하고는 작은 따옴표로 묶은 문자열로 ". 그래서 당신은'<< 'FOO'라고 말할 필요가 있습니다. – Vlad
당신은 간단한 실험을 시도하여 자신을 도울 수 :
C:\Temp> cat t.pl
#!/usr/bin/perl
use strict; use warnings;
print MyDigit();
sub MyDigit {
return <<END;
0030\t0039
END
}
출력 :
C:\Temp> t | xxd 0000000: 2020 2020 3030 3330 0930 3033 390d 0a 0030.0039..
지금, 당신의 경우, END
가 줄의 시작 부분에 줄 지어되지 않으므로 메시지를 받아야합니다 :
Can't find string terminator "END" anywhere before EOF at …
그렇습니다. 그러나 실제로 heredox에 대한 교훈을 전달하려는 경우 [unichars] (http://training.perl.com/scripts/unichars), [uninames] (http : //)에서 내 dequeuing 전략을 생각합니다. training.perl.com/scripts/uninames), [uniprops] (http://training.perl.com/scripts/uniprops), 심지어는 [leo] (http://training.perl.com/scripts/leo) 가장 깨끗한보고 heredox합니다. 그러나 실제로 여러분 모두는 함수가 실제로하는 일을 놓쳤습니다. 그것은 ASCII 숫자와 만 일치하는 속성을 생성합니다. 반드시'\ p {POSIX_Digit}'이 (가) v5.12 릴리스에 등장했습니다. – tchrist
@tchrist 나는 그것이 'deQ'라고 생각한다. –
모두를 놓쳤습니다!
그것은 정규 표현식을 사용하여 \p{MyDigit}
및 \P{MyDigit}
에 사용할 사용자 정의 속성을 정의합니다.
그것은 이들처럼 : 또는
sub InKana {
return <<'END';
3040 309F
30A0 30FF
END
}
, 기존 속성 이름의 관점에서 그것을 정의 할 수 있습니다 : 당신은 또한 사용하여 뺄셈을 설정 할 수
sub InKana {
return <<'END';
+utf8::InHiragana
+utf8::InKatakana
END
}
"C를 < ->"접두사 . 만 문자의 블록 범위가 아닌 실제 문자를 원한다고 가정합니다. 당신은 이런 식으로 모든 정의되지 않은 것들을 걸러 수 :
sub IsKana {
return <<'END';
+utf8::InHiragana
+utf8::InKatakana
-utf8::IsCn
END
}
은 "C"접두어를 사용하여 설정 당신은 또한 보완 문자로 시작할 수 있습니다
: 내가 잘해야합니다 그림
sub IsNotKana {
return <<'END';
!utf8::InHiragana
-utf8::InKatakana
+utf8::IsCn
END
}
을, 이후 나는 ex camelis라고 말하고 있습니다. :)
- 1. Perl 기본 질문
- 2. Perl : hashmap에 대한 기본 질문
- 3. 함수 포인터 기본 질문
- 4. 퍼팅 : 기능 후 기본?
- 5. Perl 기본 제공 연산자/함수는 무엇입니까?
- 6. 초급 PHP 질문 기능
- 7. 기본 플래시 질문 - 영화 끝 부분에서 자바 스크립트 기능 호출
- 8. perl 인쇄 서식 질문
- 9. Perl 정규 표현식 질문
- 10. Perl 정규 표현식 질문
- 11. Perl 익명 목록 질문
- 12. Perl 배열 질문
- 13. Perl 모듈러스 연산자 질문
- 14. Perl m 연산자 질문
- 15. Perl 디자인 질문
- 16. 함수 속성 질문
- 17. Perl 기본 변수 $ _
- 18. Mathematica의 라이브러리 함수 기능
- 19. jQuery 이해하기 (기본 질문)
- 20. 함수 호출에서 perl 이스케이프 문자
- 21. 기본 C 포인터 질문
- 22. 간단한 ASP 기능 질문
- 23. xslt 문서 기능 질문
- 24. VBA 추가 기능 질문
- 25. VBA 추가 기능 질문
- 26. 모나드 "바인딩"기능 질문
- 27. Perl Less '<'운영자 질문
- 28. Javascript 함수 호출에 대한 질문
- 29. 셰어 : 기능 기본
- 30. 기본 C 배열 기능
당신이 그것을 호출했을 때 어떤 일이 있었습니까? –
정규식에 사용하기 위해 ASCII 숫자로만 구성된 문자 클래스를 정의합니다. 내 대답을 보라. PS : 즉 기입 안 [Le_Cœur (http://translate.google.com/#en|fr|Where%20is%20my%20heart%3F) * n'est-CE 우선권 * – tchrist