Perl이 슬래시를 이스케이프 문자로 사용하지 않고 주소 문자열을 인쇄하려면 어떻게해야합니까? 더 많은 이스케이프 문자를 추가하여 문자열을 변경하고 싶지 않습니다.Perl이 를 이스케이프 문자로 해석하지 못하게하려면 어떻게해야합니까?
답변
당신이 탈출 할 내용에 따라 다르지만 견적과 같은 운영자가 도움이 될 수 있습니다.
perlop 매뉴얼 페이지를 참조하십시오.
당신이 묻는 것은 보간입니다. 더 구체적으로는 "여기-문서"라는 구문을 함께 할 수있는 방법을 perldoc perlop에 "Quote-Like Operators"에 대한 문서를 볼 수 있지만, 작은 따옴표와 함께 :
따옴표는 텍스트가 더와 문자 그대로 처리되지 것입니다 나타냅니다 그 내용의 보간법. 백 슬래시가 특별한 의미가 없다는 점을 제외하고는 작은 따옴표로 묶은 문자열과 비슷합니다. \는 두 개의 백 슬래시로 처리되고 다른 모든 인용 구성에서는 처리되지 않습니다.
이것은 탈출하는 콘텐츠, 코드 생성기가 잘 활용할 수있는 것에 대해 걱정할 필요가없는 펄에서 인용하는 유일한 형태입니다. 예를 들어
:
my $address = <<'EOF';
[email protected]\with\backslashes\all\over\theplace
EOF
그들은 매우 일반적으로 사용되는대로 (내가 위에서 언급 한 것과 같은 문서를) 같은 qw
및 qq
같은 다양한 인용 사업자에 읽을 할 수 있습니다 또 다른 길어지는 콘텐츠 이탈 방법에 대한 좋은 속기를하십시오.
나는 그 하나도 생각했다! 어떤 이유로 나는 여전히 백 슬래시를 보간 할 것이라고 생각했다. 바보 같은 파이썬 내 문자열 보간을 섞어 만들기. (이 답변에 덧붙일 유일한 메모는 데이터 끝 부분에 개행 문자를 추가하는 것이 바람직하지 않을 수 있다는 것입니다.) –
@Chris : 실제로,'substr()'또는'chomp 멋지게 고쳐주세요. – Ether
그러나 작은 따옴표로 묶인 문자열에서 'and \ even을 이스케이프 처리 할 수 있다는 것을 잊지 마십시오. 나는 그 점을주의하도록 문서를 변경해야한다. :) –
작은 따옴표를 사용하십시오. 예를 들어
print 'lots\of\backslashes', "\n";
는 변수를 보간 할 경우의 끝에 백 슬래시를 이스케이프
$var = "pesky";
print 'lots\of\\' . $var . '\backslashes', "\n";
공지 사항에 같이 .
연산자를 당신이 그 사용
lots\of\backslashes
제공 문자열.
대안으로 join
를 사용할 수 있습니다 : 당신이 우리에게 샘플 코드를 제공하려는 경우
print join("\\" => "lots", "of", $var, "backslashes"), "\n";
우리는 훨씬 더 도움이 답변을 줄 수 있습니다.
사용 backslah 두 번,
print "This is a backslah character \\";
- 1. Perl이 생성 한 XML에서 "<"를 이스케이프 처리합니다.
- 2. 양식 입력에서 \를 (를) 추가하지 못하게하려면 어떻게해야합니까?
- 3. 자바 정규식, 이스케이프 문자로
- 4. sed : 변수에서 이스케이프 문자를 올바르게 해석하지 않습니다.
- 5. "def"를 클로저에 다시로드하지 못하게하려면 어떻게해야합니까?
- 6. 사도가 이스케이프 문자로 인코딩 됨
- 7. SVN cli가 이스케이프 문자로 커밋합니다.
- 8. 출력을 인쇄하지 못하게하려면 어떻게해야합니까?
- 9. 구분 된 텍스트를 이스케이프 문자로 구문 분석
- 10. .Net String을 HTML 이스케이프 문자로 변환하는 방법
- 11. IIS7이 쿠키를 삭제하지 못하게하려면 어떻게해야합니까?
- 12. 사용자가 VBA에 액세스하지 못하게하려면 어떻게해야합니까?
- 13. IIS7에서 HttpHandlers를 사용하지 못하게하려면 어떻게해야합니까?
- 14. Perl이 테스트 디렉토리에서만 모듈을 실행하도록하려면 어떻게해야합니까?
- 15. 이스케이프 불가 문자가 이스케이프 처리되면 어떻게해야합니까?
- 16. Qt4에서 사용자 제공 텍스트를 RTF로 이스케이프 처리하는 방법. QMessageBox?
- 17. WPF에서 스타일을 재정의하지 못하게하려면 어떻게해야합니까?
- 18. CWnd가 포커스를 얻지 못하게하려면 어떻게해야합니까?
- 19. 브라우저가 쿠키를 저장하지 못하게하려면 어떻게해야합니까?
- 20. svn에서 디렉토리를 변경하지 못하게하려면 어떻게해야합니까?
- 21. .NET에서 창을 표시하지 못하게하려면 어떻게해야합니까?
- 22. ActiveRecord가 DB에 쓰지 못하게하려면 어떻게해야합니까?
- 23. SparkViewEngine의 {!}을 렌더링하지 못하게하려면 어떻게해야합니까?
- 24. 옥타브가 sigsegv를 잡지 못하게하려면 어떻게해야합니까?
- 25. Cassandra가 TFastFramedTransport를 사용하지 못하게하려면 어떻게해야합니까?
- 26. 유니 코드 코드 포인트 (\ uXXXX)를 Perl의 문자로 변환하려면 어떻게해야합니까?
- 27. Perl이 명령 행 인수로 음수를 허용하도록하려면 어떻게해야합니까?
- 28. vi에서 슬래시 문자를 이스케이프 처리하려면 어떻게해야합니까?
- 29. 사용자가 phpMyAdmin 로그인 페이지에 액세스하지 못하게하려면 어떻게해야합니까?
- 30. Google 크롬에서 텍스트를 선택하지 못하게하려면 어떻게해야합니까?
당신은 문제를 일으키는 코드를 게시 할 수 있을까요? –
죄송합니다. 운이 좋지 않을 것입니다. '\\'는 이스케이프 문자이며, 리터럴 문자를 원한다면 이스케이프 문자를 사용해야합니다. –
@Chris : bzzt! :) – Ether