`
alex09
  • 浏览: 975085 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

PERL 语言中的q,qw,qr,qx,qq......符号用法总结

    博客分类:
  • perl
阅读更多
PERL 语言中的q,qw,qr,qx,qq......符号用法总结
在perl语言中,有两个特殊而常用的符号qq qw,分别解释如下:
qq{foobar}的意思为意思为双引号字符串,可内插变量
相当于 "foobar"
qw{foo bar}的意思为用空格分解字符串,得到列表,相当于如下语句
split(' ','foo bar') 得到的结果是'foo','bar'

字符串比较等于用 eq

q运算符对'号转义的方式
$someword = 'i \'ve some money';
可以等价于:
$someword = q~i 've some money~;

qq运算符对"号转义的方式
$someword = "i say \"ok!\".";
可以等价于:
$someword = qq~i say "ok!".~;

qw代表用空格来分隔元素,得到列表
@list = ("perl","Regular","network","web");
可以等价于:
@list = qw(perl Regular network web);

qr代表创建正则
$myword = "catcat";
$replaceword = qr(catcat);
$finalword = "ok" if ($myword =~ $replaceword);

引号执行运算符(quoted execution operator),qx//
qx/uname -p -r/

q 和 qq 运算符的特点:
※ q 和 qq 必须是一个标识符,而不是标识符的部分。例如:
q (abc)      用 () 作为分界符
q(abc)       用 () 作为分界符
q xabcx      用 x 作为分界符
都是合法的,而
qxabcx 就会被当作是一个标识符来处理,有谁会想到 qxabcx 居然是一个 q 运算式呢?

※ q 和 qq 后面的空格并不会影响语法,但是任何非空字符(不是空格、不是 TAB 字符、
   不是换行符)则会被当作界限符来使用。

※ 如果 q 和 qq 使用一些特殊的符号的时候,则必须配对。比如:< 只能和 >; 在一起
   用来当作界限符,而不能只用两个 < 作为界限符。而 | 则只能和它自己作为一对界
   限符。这些特殊的符号有:()、{}、[]、<>;

$myword = "catcat";
$replaceword = qr(catcat);
$finalword = "ok" if ($myword =~ $replaceword);

@list = ("perl","Regular","network","web");
可以等价于:
@list = qw(perl Regular network web);

$someword = 'i \'v some money';
可以等价于:
$someword = q~i 'v some money~;

q// is generally the same thing as using single quotes - meaning it doesn't interpolate values inside the delimiters.
qq// is the same as double quoting a string. It interpolates.
qw// return a list of white space delimited words. @q = qw/this is a test/ is functionally the same as @q = ('this', 'is', 'a', 'test')
qx// is the same thing as using the backtick operators.
I've never used qr//, but it's got something to do with compiling regex's for later use.
分享到:
评论

相关推荐

    perl-5.24.1.tar.gz

    Perl是一种高级的、通用的、解释型的、动态的编程语言,它的全称是 Practical Extraction and Reporting Language,即“实用提取和报告语言”。标题中的"perl-5.24.1.tar.gz"指的是Perl的一个特定版本,5.24.1,这个...

    perl-5.32.1.tar.gz

    Perl是一种高级的、通用的、解释型、动态的编程语言,它的全称是“ Practical Extraction and Reporting Language”,中文常被译为“实用提取和报告语言”。这个“perl-5.32.1.tar.gz”文件是Perl编程语言的源代码包...

    perl-5.30.3.tar.gz随便下载,不涨价哦

    `perl-5.30.3.tar.gz` 是Perl源代码的压缩包,采用的是广泛使用的GNU Tar格式进行打包,并通过gzip工具进行压缩,使得文件更小,便于下载和传输。 在Linux或类Unix系统中,你可以通过以下步骤来解压和安装Perl 5.30...

    perl-5.30.0.tar.gz

    Perl是一种强大的、高级的脚本编程语言,以其灵活性和可扩展性在系统管理、文本处理和Web开发等领域广泛应用。"perl-5.30.0.tar.gz" 是Perl语言的一个源代码包,代表着5.30.0版本,这是一个稳定的发布版本。在Linux...

    perl5.程序包,perl5.程序包,perl5.程序包,perl5.程序包

    perl5.程序包,perl5.程序包,perl5.程序包,perl5.程序包,perl5.程序包,

    perl.zip、perl-5.16.3-295.el7.x86_64.rpm

    Perl是一种强大的脚本编程语言,尤其在文本处理和系统管理任务方面表现突出。在这个场景中,我们有一个名为"perl.zip"的压缩包,其中包含了在CentOS 7.6系统上离线安装Perl 5.16.3所需的全部依赖。这个版本的Perl是...

    Perl语言入门(第四版).pdf && Perl编程思想.pdf

    在这个资料包中,包含两本书——《Perl语言入门(第四版).pdf》和《Perl编程思想.pdf》,它们将帮助你从基础到深入地理解和掌握Perl编程。 《Perl语言入门(第四版).pdf》是一本适合初学者的教程,它将引导你逐步走进...

    perl-5.30.1.tar.gz

    这些模块提供了丰富的函数和方法,以帮助你在Perl中处理加密和安全问题。 总的来说,Perl 5.30.1的安装和使用涉及到操作系统级别的编译、配置和链接,而OpenSSL的集成则为Perl提供了更强大的安全性支持。对于需要...

    Perl语言参考手册中文htmlPerl语言参考手册中文html

    3. **变量**:Perl中的变量以符号“$”、“@”或“%”开头,分别表示标量、数组和哈希。变量名是大小写敏感的,且无需预先声明。 4. **正则表达式**:Perl在处理文本时,正则表达式是其核心工具。它支持丰富的匹配...

    libperl.so openssh、openssl、perl.zip

    在IT领域,libperl.so是一个重要的动态链接库文件,它属于Perl编程语言。Perl是一种功能强大的脚本语言,常...在学习和使用这些工具时,深入理解它们的工作原理,掌握正确的配置和使用方法,是提升专业技能的重要步骤。

    perl-5.16.3-293.el7.x86_64_rpm.zip

    标题中的"perl-5.16.3-293.el7.x86_64_rpm.zip"指的是Perl编程语言的一个特定版本的RPM(Red Hat Package Manager)包,适用于64位的 CentOS 7 操作系统。RPM是一种在类Unix系统中管理软件包的标准格式,它方便了...

    perl-5.16.3-297.el7.x86_64.rpm

    perl-5.16.3-297.el7.x86_64.rpm

    Perl_examples_perl语言_Perl_

    Perl是一种强大的脚本编程语言,尤其在文本处理和系统管理任务方面表现突出。"Perl_examples"这个压缩包可能包含了各种Perl编程的实例,旨在帮助学习者深入理解和掌握Perl语言的语法和架构。以下是对Perl语言及其...

    strawberry-perl-5.32.1.1-32bit.zip

    标题中的"strawberry-perl-5.32.1.1-32bit.zip"表明这是一款基于Perl编程语言的软件发行版,名为“Strawberry Perl”,具体版本为5.32.1.1,适用于32位操作系统。Strawberry Perl是Perl在Windows平台上的一个流行的...

    perl-5.16.3-292.el7.x86_64.rpm

    该包用于mysql安装时候的依赖包,执行 rpm -ivh perl-5.16.3-...rpm 相信你会用到

    strawberry-perl-5.10.1.0.msi

    《Perl编程语言与Strawberry Perl 5.10.1.0的深度解析》 Perl,全称为“Practical Extraction and Reporting Language”,是一种高级、通用的解释型、动态编程语言,尤其在文本处理和系统管理领域表现出色。Perl自...

    Perl语言教程 Perl语言入门

    Perl语言是一种功能强大的脚本编程语言,以其在文本处理、系统管理、网络编程以及Web开发中的广泛应用而闻名。本教程将带你逐步了解Perl语言的基础知识,帮助你从入门到掌握。 首先,Perl语言的设计理念是“实用胜...

Global site tag (gtag.js) - Google Analytics