`
deepfuture
  • 浏览: 4334817 次
  • 性别: Icon_minigender_1
  • 来自: 湛江
博客专栏
073ec2a9-85b7-3ebf-a3bb-c6361e6c6f64
SQLite源码剖析
浏览量:79435
1591c4b8-62f1-3d3e-9551-25c77465da96
WIN32汇编语言学习应用...
浏览量:68412
F5390db6-59dd-338f-ba18-4e93943ff06a
神奇的perl
浏览量:101532
Dac44363-8a80-3836-99aa-f7b7780fa6e2
lucene等搜索引擎解析...
浏览量:281270
Ec49a563-4109-3c69-9c83-8f6d068ba113
深入lucene3.5源码...
浏览量:14619
9b99bfc2-19c2-3346-9100-7f8879c731ce
VB.NET并行与分布式编...
浏览量:65612
B1db2af3-06b3-35bb-ac08-59ff2d1324b4
silverlight 5...
浏览量:31336
4a56b548-ab3d-35af-a984-e0781d142c23
算法下午茶系列
浏览量:45222
社区版块
存档分类
最新评论

神奇的perl-第六个任务(10)

阅读更多

本神奇的Perl系列为刘兴(http://deepfuture.iteye.com/)原创,未经笔者授权,任何人和机构不能转载

使代码更简单-$_和$! 

Perl代码很简洁,使用预定义变量会更简单更优雅,对于懒惰的程序员是个福音呀。最实用的是$_和$!两个预定义变量。

1、$_是在执行输入和模式搜索操作时使用的默认变量。

例如,在屏幕上输出iplog.txt的内容。

#perl4-21.pl

open MYIP,"<iplog.txt";

foreach (<MYIP>){

  print ;

}

close MYIP;

$_变量存放着从MYIP文件句柄输入的内容,print等方法不加任何参数表示默认输出$_的内容,比如:

say;#输出$_后接换行

chomp;#去除$_后的换行符

print if (~m/xyz/);#如果$_包含“xyz”字符串,则输出$_

s/2010/2009/;#将$_中2010替换成2009

print “你好”.$_;#输出你好后接$_的内容

2、$! 获取当前错误信息值,常用于die命令。

die处理Perl的严重错误,如除以零等,die输出由随后参数指定的错误信息后,终止程序。$!获取系统返回的错误信息。

以打开文件错误为例(以下代码在ubuntu下运行正常,默认编码为UTF8):

#perl4-24.pl

die $! if (!open MYIP,"<iploglog.txt");

#如果当前目录没有iploglog.txt文件(实际上当前目录确实没有该文件),发生错误,并输出错误信息

foreach (<MYIP>){

  print ;

}

close MYIP;

#在ubuntu下输出“没有那个文件或目录 at perl4-24.pl line 2.”

分享到:
评论

相关推荐

    Rosettacode-Perl-Smoke:烟雾测试Perl Rosettacode任务

    烟雾测试Perl 5 Rosettacode任务已经设置了,为什么还不设置Perl 5? 它能有多难? :-)时间线解决了现有任务的积压工作,现在在需要的地方添加了丢失的任务。 最初,针对最近发布的5.28版本的Perl进行测试。 一旦...

    Perl语言入门(第六版)

    此次第六版涵盖了最新的Perl 5.14版本的变化。 Perl能在绝大多数平台上完成几乎所有任务,不管是简单的修修补补,还是大型完备的网络应用。《Perl语言入门》从最基础的开始教起,然后逐渐深入,让你慢慢能够自行编写...

    Perl语言入门_中文版_第六版

    PERL语言第六版,Perl能在绝大多数平台上完成几乎所有任务,不管是简单的修修补补,还是大型完备的网络应用

    Perl语言入门(第五版-中文版).pdf

    第六章哈希 什么是哈希? 访问哈希元素 哈希函数 哈希的典型应用 %env哈希 习题 第七章漫游正则表达式王国 什么是正则表达式? 使用简易模式 字符集 习题 第八章以正则表达式进行匹配 以m//进行匹配 ...

    Rosettacode-Raku-Smoke:烟雾测试Raku(以前是Perl 6)Rosettacode任务

    但是在2015年底6.c发行版看起来确实将要实现时,我决定花一些精力通过Rosetta-Code上的示例来学习Perl 6的当前状态(后来称为Perl 6)。 我看的第一项任务被打破了。 哦,恐怖! 检查了文档,发现了问题,心想:我...

    Advanced Bash-Scripting Guide <>

    9-10. 在一个文本文件的段间插入空行 9-11. 利用修改文件名,来转换图片格式 9-12. 模仿getopt 命令 9-13. 提取字符串的一种可选的方法 9-14. 使用参数替换和error messages 9-15. 参数替换和"usage"messages 9-16. ...

    Linux高级bash编程

    9-10. 在一个文本文件的段间插入空行 9-11. 利用修改文件名,来转换图片格式 9-12. 模仿getopt命令 9-13. 提取字符串的一种可选的方法 9-14. 使用参数替换和error messages 9-15. 参数替换和"usage"messages 9-16. ...

    Linux服务器配置与管理项目7--WWW服务器配置与管理.pptx

    Linux服务器配置与管理项目7--WWW服务器配置与管理全文共87页,当前为第6页。 2.HTTP协议 HTTP(Hyper Text Transfer Protocol)超文本传输协议,是用于从WWW服务器传输超文本到本地浏览器的传送协议。HTTP是一个...

    正则表达式

    JavaScript采用的是Perl语言正则表达式语法的一个相当完整的子集. 正则表达式的模式规范是由一系列字符构成的.大多数字符(包括所有字母数字字符)描述的都是按照字面意思进行匹配的字符.这样说来,正则表达式/java/...

    Linux操作系统基础教程

    它本身就是一个完整的 32 位的多用户多任务操作 系统,因此不需要先安装 DOS 或其他的操作系统(MS Windows, OS2, MINIX..)就可以进 行直接的安装。 Linux的最早起源是在1991年10月5日由一位芬兰的大学生Linux ...

    avalon-arthur:AI模拟IRC游戏

    玩家人数邪恶数第一个任务的玩家第二个任务第三次探索第四个任务第五个任务5 2 2 3 2 3 3 6 2 2 3 4 3 4 7 3 2 3 3 4+ 4 8 3 3 4 4 5+ 5 9 3 3 4 4 5+ 5 10 4 3 4 4 5+ 5 游戏的第一个实现很简单,特殊角色仅限于好...

    WEB安全测试

    第6章 自动化批量扫描 114 6.1 使用WebScarab爬行网站 115 6.2 将爬行结果转换为清单 117 6.3 减少要测试的URL 120 6.4 使用电子表格程序来精简列表 120 6.5 使用LWP对网站做镜像 121 6.6 使用wget对网站做镜像 123 ...

    java开源包10

    BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...

    LINUX安装与配置简明手册

    第6章 配置X图形界面 66 6.1 概述 66 6.2 快速解决方案 67 6.2.1 在Caldera发行版本中配置X图形 界面的准备工作 67 6.2.2 在Caldera发行版本中配置鼠标 69 6.2.3 在Caldera发行版本中配置键盘 70 6.2.4 在Caldera...

    linux安装与配置简明手册

    第6章 配置X图形界面 66 6.1 概述 66 6.2 快速解决方案 67 6.2.1 在Caldera发行版本中配置X图形 界面的准备工作 67 6.2.2 在Caldera发行版本中配置鼠标 69 6.2.3 在Caldera发行版本中配置键盘 70 6.2.4 在...

    Linux最早是Linus Torvalds在1991年开始设计开发

    1991年的夏季,也就是他购买了第一台PC机之后6个月,Linus觉得他还需要从网上下载某些文件,为此他必须读写某个磁盘。于是他又不得不写一个磁盘驱动程序,然后是一个文件系统。而一旦你有了任务切换器、文件系统和...

    Linux环境数据库管理员指南

    第6章 在 Red Hat Linux上安装DB2 Universal Database 6.1 170 6.1 引言 170 6.2 为安装DB2准备 Red Hat工作站 171 6.2.1 为DB2安装准备 Red Hat 5.2 和 6.0 172 6.2.2 为DB2安装准备 Red Hat 6.1 172 6.3 安装 ...

    java开源包1

    BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...

Global site tag (gtag.js) - Google Analytics