2015-11-02 30 views
0

我想了解perl的命令如下:如何理解這個perl的多條寫入命令

$my = << EOU; 

This is an example. 

Example too. 

EOU 

是什麼這樣的名字?有人可以更多地解釋這個「多行寫作」命令嗎?

+2

[這裏是文檔,或者如何在Perl中創建多行字符串](http://perlmaven.com/here-documents) –

+0

這就是我想要的!謝謝! – Tong

+1

@Сухой27,「<<」和「EOU」之間有一個「空格」錯誤。正確的願景是:$ my = << EOU; – Tong

回答

3

本質上,語法允許你把任何唯一的東西放在標記上,這樣它就不會與您的內容發生衝突。您可以這樣做:

$my = <<ABCDEFG; 
This is an example. 
Example too. 

BLAH 
ABCDEFG 

「This ..」和「BLAH」之間的所有內容都將分配給變量。請注意,在符號後面不應有空格,否則會出現語法錯誤。它有助於避免在任何地方添加CR字符或追加(。),並且在將數據傳遞到另一個應用程序(例如.ftp會話)時非常有用。 Here Documents是正確的術語。

0

< <之間的所有內容EOU和EOU是一個多行,非易失性字符串。這不是什麼幻想,把它們想象成開始和結束的引號,裏面沒有任何東西需要轉義才能真正地輸入你想要的東西......

+1

非易失?你的意思是非插值?如果heredoc標籤包含在單引號中,那隻會是原因。默認情況下,它是雙引號。 – Miller