使用<;帮助我理解此Perl语句<';ESQ&x27; substr($obj_strtime,index($strtime,“sub”)+6,0)=

使用<;帮助我理解此Perl语句<';ESQ&x27; substr($obj_strtime,index($strtime,“sub”)+6,0)=,perl,heredoc,Perl,Heredoc,它标志着一个过程的结束 不过,EOF比ESQ更传统。这种结构被称为here doc(因为您从这里的文档而不是文件系统某处的外部文档获得标准输入) 它基本上读取从下一行到结束标记行(但不包括结束标记行)的所有内容,并将其用作正在运行的程序或命令的标准输入。结束标记线由后面的文本控制。我通常看到许多与/^EO[A-Z]+$/匹配的变体,文件结束和数据结束似乎最常见,但对于你的结尾是什么,我也很乐意提供更多的帮助。我喜欢END或END\u DESCRIPTIVE\u NAME,其中\u DESCRIP

它标志着一个过程的结束


不过,EOF比ESQ更传统。

这种结构被称为here doc(因为您从这里的文档而不是文件系统某处的外部文档获得标准输入)


它基本上读取从下一行到结束标记行(但不包括结束标记行)的所有内容,并将其用作正在运行的程序或命令的标准输入。结束标记线由
后面的文本控制。我通常看到许多与
/^EO[A-Z]+$/
匹配的变体,文件结束和数据结束似乎最常见,但对于你的结尾是什么,我也很乐意提供更多的帮助。我喜欢
END
END\u DESCRIPTIVE\u NAME
,其中
\u DESCRIPTIVE\u NAME
是对内容的描述性描述。例如,如果我有一个HTML片段,
END\u HTML
,或者如果我在gui中嵌入一个编码图标,
END\u图标
。还请注意,此处的文档被分配到$obj\u strtime中指定的位置(索引($strtime,“sub”)+6)。
substr($obj_strptime,index($strptime,"sub")+6,0) = <<'ESQ';
 shift; # package
 ....
 ....
ESQ
cat <<EOF
hello
goodbye
EOF
cat <<EOF
This section contains the line ...
EOF
but then has more stuff
and this line following is the real ...
EOF