`

Perl语言基础注意事项

    博客分类:
  • Perl
 
阅读更多
  • while和foreach分别对应Perl的scalar context和list context。这点最大的区别就是:对应一个大文件的处理,在联合钻石操作符<>或文件句柄<fh>时,要格外小心。因为前者是读取文件一行,进入while循环处理这一行,然后再读取下一行,依次读取执行。后则,则是一次性读入文件所有内容,再进行foreach内部的循环,这样可能效率更高,但是遇到大文件时,又有可能撑爆内存。
  • print函数在后面紧跟参数不包括括号时,相当于list context;但是后面如果一旦出现左括号,就相当于scalar context了,他的参数也仅限于括号里面的表达式的求值结果。比如: print (1+3)*5 这个打印出来的值不是20,而是4!
  • Perl有6个保留的关键字给文件句柄使用:STDIN/STDOUT/STDERR/DATA/ARGV/ARGVOUT,其实Perl并非强行规定你不能使用这6个关键字作为你自己定义的文件句柄,只是他们分别具有系统默认的预设值,所以如果不是特殊需求,最好不要使用这些关键字。
  • $!变量用于存放系统的错误信息。
  • 对于打印默认内容$_到文件句柄对应的文件的场景,下面这种写法是错误的:print $x_fh; 原因是Perl无法根据这句话推断出,$x_fh到底是句柄变量,还是普通的需要打印的字符。于是为了规避这种二义性,可以加入花括号:print { $x_fh }; 这样Perl就可以理解,$x_fh是个文件句柄变量。
  • 对于Perl正则表达式中的字符集[],只能匹配其中出现的任意一个字符,同时,对于字符集和其他模式都能匹配的情况下,往往字符集的匹配效率更高,应该优先使用。
  • $^I,如果像使用Perl的正则表达式来达到修改文件内容的需求,就需要这个变量:$^I = ".bak"; 就表示开启了文本修改模式,剩下的配合钻石操作符,读入文件,并直接使用正则替换就可以了。这个过程,听起来有点像sed。
  • ?在Perl中两个比较典型的非量词应用:分组不捕获(?:) ; 取消量词的默认贪婪模式:??/+?/*?
分享到:
评论

相关推荐

    程序员考试刷题-kb:工具和链接列表(Win/*nix/Perl/..)

    @注意事项 房间里最聪明的电脑总是在某人的脑海里。 长方形 真正的程序员不使用 PASCAL 更多关于真正的程序员 真正的程序员梅尔的故事 基础等等 或很棒的“RISC OS 计算机编程的第一步” 布雷特维克多 好的,那么...

    计算机程序的正确定义

     注意事项:编程语言和编程工具是两回事情,编程语言是指C++、Basic、Object Pascal等。程序设计语言,它们是像汉语、英语一样的抽象的语法规则,编程工具是指 Visual C++ 6.0、Visual Basic 6.0、Delphi 7.0等包括...

    精通正则表达式~~~

    正则表达式的注意事项和处理方式... 93 集成式处理... 94 程序式处理和面向对象式处理... 95 查找和替换... 98 其他语言中的查找和替换... 100 注意事项和处理方式:小结... 101 字符串,字符编码和匹配模式....

    MySQL 5.1中文手冊

    2.13. Perl安装注意事项 2.13.1. 在Unix中安装Perl 2.13.2. 在Windows下安装ActiveState Perl 2.13.3. 使用Perl DBI/DBD接口的问题 3. 教程 3.1. 连接与断开服务器 3.2. 输入查询 3.3. 创建并使用数据库 3.3.1. 创建...

    MySQL 5.1参考手册 (中文版)

    2.13. Perl安装注意事项 2.13.1. 在Unix中安装Perl 2.13.2. 在Windows下安装ActiveState Perl 2.13.3. 使用Perl DBI/DBD接口的问题 3. 教程 3.1. 连接与断开服务器 3.2. 输入查询 3.3. 创建并使用数据库 3.3.1. 创建...

    mysql官方中文参考手册

    2.13. Perl安装注意事项 2.13.1. 在Unix中安装Perl 2.13.2. 在Windows下安装ActiveState Perl 2.13.3. 使用Perl DBI/DBD接口的问题 3. 教程 3.1. 连接与断开服务器 3.2. 输入查询 3.3. 创建并使用数据库 3.3.1. 创建...

    MYSQL中文手册

    2.13. Perl安装注意事项 2.13.1. 在Unix中安装Perl 2.13.2. 在Windows下安装ActiveState Perl 2.13.3. 使用Perl DBI/DBD接口的问题 3. 教程 3.1. 连接与断开服务器 3.2. 输入查询 3.3. 创建并使用数据库 ...

    MySQL 5.1参考手册中文版

    2.13. Perl安装注意事项 2.13.1. 在Unix中安装Perl 2.13.2. 在Windows下安装ActiveState Perl 2.13.3. 使用Perl DBI/DBD接口的问题 3. 教程 3.1. 连接与断开服务器 3.2. 输入查询 3.3. 创建并使用数据库 ...

    MySQL 5.1参考手册

    2.13. Perl安装注意事项 2.13.1. 在Unix中安装Perl 2.13.2. 在Windows下安装ActiveState Perl 2.13.3. 使用Perl DBI/DBD接口的问题 3. 教程 3.1. 连接与断开服务器 3.2. 输入查询 3.3. 创建并使用数据库 3.3.1. 创建...

    Tcl_TK编程权威指南pdf

    注意事项 第15章 国际化(internationalization) 字符集与编码 消息目录 第16章 事件驱动的编程 tcl事件循环 after命令 fileevent命令 vwait命令 fconfigure命令 第17章 套接字编程 客户端套接字 ...

    MySQL 5.1官方简体中文参考手册

    2.13. Perl安装注意事项 2.13.1. 在Unix中安装Perl 2.13.2. 在Windows下安装ActiveState Perl 2.13.3. 使用Perl DBI/DBD接口的问题 3. 教程 3.1. 连接与断开服务器 3.2. 输入查询 3.3. 创建并使用数据库 3.3.1. 创建...

    MySQL5.1参考手册官方简体中文版

    2.13. Perl安装注意事项 2.13.1. 在Unix中安装Perl 2.13.2. 在Windows下安装ActiveState Perl 2.13.3. 使用Perl DBI/DBD接口的问题 3. 教程 3.1. 连接与断开服务器 3.2. 输入查询 3.3. 创建并使用数据库 3.3.1. 创建...

    mysql5.1中文手册

    Perl安装注意事项 2.13.1. 在Unix中安装Perl 2.13.2. 在Windows下安装ActiveState Perl 2.13.3. 使用Perl DBI/DBD接口的问题 3. 教程 3.1. 连接与断开服务器 3.2. 输入查询 3.3. 创建并使用...

    网管教程 从入门到精通软件篇.txt

    ASM:汇编语言源文件,Pro/E装配文件 ASP:动态网页文件;ProComm Plus安装与连接脚本文件;Astound介绍文件 AST:Astound多媒体文件;ClarisWorks“助手”文件 Axx:ARJ压缩文件的分包序号文件,用于将一个大...

Global site tag (gtag.js) - Google Analytics