Perl中here文档(=<<符号)的使用简介

来源:互联网 发布:加拿大地缘政治知乎 编辑:程序博客网 时间:2024/06/05 14:39
Perl中的   =<<

Perl中的here文档又称作heredochere字串或here脚本,是可以在shell命令行和程序语言(像PerlPHPPython等)里定义一个字串的方法。

使用概述:

1.使用  =<<  符号定义标识符名称。起始标识符与 =<<之间不能有空格。

2.标识符可以用任意其它字符代替,只需保证结束标识与开始标识一致。

3.结束标识必须顶格独自占一行(即必须从行首开始,前后不能衔接任何空白和字符)

4.起始标识可以不带引号号或带单双引号,不带引号与带双引号效果一致,解释内嵌的变量和转义符号,带单引号则不解释内嵌的变量和转义符号。

5.当内容需要内嵌引号(单引号或双引号)时,不需要加转义符,本身对单双引号转义,此处相当与qqq的用法。


下面看例子:

--------------------------------------------------------例一:使用双引号或不使用引号,都可以在文中识别转义符号--------------------------------------------

#!/use/bin/perl

my $inputdir = "/home/ttjy/ack";
my $usage =<<"USAGE";            #起始标识符,可以用其他大写字符代替           #此处 <<与“USAGE”之间不能有空格,否则不能被编译
使用方法:
>______Options:
>______-p>____<DIR>>____Inputfile.
>______-f>____<FILE>>___Inputfile names.
>______-h>____>_________help.
>______-s>____<NUM>>____start site.
>______-l>____<NUM>>____length.
for example:
>______perl -p file_path -f filename -s 0 -l 125
默认文件路径:$inputdir

USAGE                      #结束标识符必须与起始标识符相同,且需要顶格写,单独占一行。

print "$usage\n";      #可以识别转移符号

----------------------------------结果如下---------------------

使用方法:
>______Options:
>______-p>____<DIR>>____Inputfile.
>______-f>____<FILE>>___Inputfile names.
>______-h>____>_________help.
>______-s>____<NUM>>____start site.
>______-l>____<NUM>>____length.
for example:
>______perl  -p file_path -f filename -s 0 -l 125
默认文件路径:/home/ttjy/ack


--------------------------------------------------------例二:使用单引号,不能识别文中转义符号--------------------------------------------

#!/use/bin/perl

my $inputdir = "/home/ttjy/ack";
my $usage =<<‘ABC’;

From here 


we can  see  a 


example that it 


can not  tell you 


what is  in  the 


file :$inputdir.


so , do  you  know now ?


ABC


print "$usage\n";


-------------------结果如下:----------------------------

From here 


we can  see  a 


example that it 


can not  tell you 


what is  in  the 


file :$inputdir.     #使用单引号,无法转义


so , do  you  know now ?