一、Perl中的命令行参数:
Perl提供了一个特殊的内置数组@ARGV来存放用户从命令行输入的参数;功能跟C/C++的命令行参数一样,但是实现上不太一样;Perl中定义的命令行参数不包含perl命令和perl命令后面的perl程序文件名,即:不包含“perl 程序文件名”,也就是说,数组@ARGV中存放的全都是用户在命令行上输入的参数,不包含“perl 程序文件名”;从“ perl 程序文件名”之后开始,到回车键之间的参数才会被存储到数组@ARGV中;$ARGV[0]中存放的是用户输入的第一个参数;Perl5把调用程序名存储在特殊变量$0中;命令行的各个参数之间用空格隔开;
数组@ARGV中的每个存储单元中存放是命令行中使用空格分隔开的项目;如果命令行上有字符串参数,而且字符串之间需要有空格的话,这个时候需要使用引号把这些含有空格的字符串括起来,否则会被Perl解释器解释为多个参数而被存入到数组@ARGV的多个不同的存储单元中;
在生成数组@ARGV的同时还会生成文件句柄ARGV,以及数组最后单元索引$#ARGV;可以使用循环对数组@ARGV进行处理;如果数组@ARGV为空数组,则数组最后存储单元的下标索引$#ARGV的值为-1,即:$#ARGV = -1 ;对任意一个空数组来说,都是这样的:数组最后存储单元索引的下标为-1;
二、使用<>文件操作符:
Perl中,<>操作符实际上是对数组@ARGV的隐含的引用,其工作原理为:
1、当Perl解释器第一次看到<>操作符时,打开以$ARGV[0]为文件名的文件;
2、执行动作shift(@ARGV);即把数组@ARGV中的所有元素向前移动一个位置,数组中的元素数量也减1;
3、<>操作符读取在第一步中打开的文件中的所有行;
4 、读完之后,解释器回到第一步中重复操作;
可以使用命令行变量作为文件表处理的简单语法为如下:
while (<>);
这一行代码的作用就是打开和关闭特殊文件句柄ARGV、设置$ARGV变量和读取文件中的每一行;使用特殊文件句柄ARGV来处理文件,确实比较方便,但是也有一定的难度,读取数组@ARGV中的每一个元素,确定每个值对应的开关和确定何时有文件需要处理并不容易;
三、文件的缓冲设置:
默认情况下,Perl解释器对文件是使用缓冲的:$I = 0;
为了告诉Perl解释器不对文件使用缓冲,可以使用以下方法:
1、使用select()函数选择一个指定的文件作为当前默认的文件;
2、把系统内置的特殊变量 $I设置为1: $I = 1;
系统变量$I会告诉Perl解释器是否对文件进行缓冲而不管是否应该进行缓冲;如果$I为非零值,则表示不使用缓冲;如果$I为0值,则表示使用缓冲;系统变量$I与系统变量$~和$^协同工作;当没有调用select()函数时,$I影响当前默认的文件;
来自
http://blog.csdn.net/brince101/article/details/6863241
分享到:
相关推荐
1. **Signatures(签名)**: Perl 5.26引入了函数签名的概念,允许开发者更精确地定义函数参数,增强了代码的可读性和错误检查。 2. **say() 函数**: 这个内置函数在Perl 5.10被引入,但在5.26中更为稳定,用于简洁...
-i参数代表安装,-v参数表示详细模式,-h参数则表示在安装过程中显示安装进度。 值得注意的是,安装指令中还提到了“私信博主,全程指导安装”,这表明安装过程可能较为复杂,或者需要根据用户的特定环境进行定制化...
### Perl命令行参数详解 #### 一、概述 Perl 是一种功能强大的脚本语言,广泛应用于文本处理、系统管理等领域。Perl 的一大特色是其丰富的命令行选项,这些选项可以帮助开发者更加高效地编写和调试代码。本文将...
值得注意的是,虽然这里没有详细说明,但rpm命令实际上有多个选项和参数,其中“-i”表示安装,而“-v”表示详细模式,“-h”则表示在安装过程中打印出进度条。安装过程中,如果依赖关系不满足,rpm命令会尝试解析并...
2. perl-Params-Validate-1.08-4.el7.x86_64.rpm:这是一个依赖包,提供参数验证功能。 3. perl-List-MoreUtils-0.33-9.el7.x86_64.rpm:这是另一个依赖包,提供对列表的更多操作工具。 4. perl-Try-Tiny-0.12-2.el7...
- perl-Params-Util-1.07-6.el7.x86_64.rpm:这是Perl的参数工具模块,用于处理函数参数。 - perl-Package-Generator-0.103-14.el7.noarch.rpm:该模块可能用于生成Perl软件包。 - perl-Data-OptList-0.107-9.el7....
例如,在开发复杂的命令行工具时,通过Perl-Params-Util模块可以清晰地定义每个参数的意义,并提供良好的错误处理机制。 安装Perl-Params-Util模块的过程被清晰地记录在压缩包内含的readme.md文档中。文档提供了...
通过修改.shc文件或在命令行中传递参数来实现。 3. **加密脚本**:运行shc命令,指定要加密的脚本文件。例如,`shc -f your_script.sh` 将会生成名为 `your_script.sh.x` 的加密二进制文件。 4. **运行加密脚本**...
例如,perl-Data-Dumper模块用于打印复杂数据结构,而perl-Params-Util模块则用于参数验证等。 这个压缩包的安装过程非常直观。首先需要使用tar命令解压压缩包,然后进入解压后的目录,使用rpm命令进行安装。具体...
还涵盖了处理命令行参数和环境变量的方法,使读者能够编写更实用的脚本。 3. **word文件批量另存为txt**:这个实例展示了如何用Perl脚本批量处理Word文档,将其转换为纯文本格式。这体现了Perl在自动化办公任务中的...
“perl-Params-Util-1.07-6.el7.x86_64.rpm”可能提供参数处理的工具集等等。这些模块的共同工作可能构成了“perl-Mixin-Linewise”模块的复杂功能。 了解以上信息后,可以得出,这个压缩包文件为Linux环境下使用...
rpm -ivh命令中的参数-i代表安装,-v代表显示详细信息,-h代表显示安装进度的哈希标记。安装时需要注意的是,文件路径要正确,并且可能需要root权限来执行这些命令。 值得注意的是,perl-HTTP-Daemon是一个Perl模块...
Perl DBI,全称是Database Independent Interface(数据库独立接口),是一个Perl编程语言的数据库接口模块。这个"perl-DBI-1.40-5.i386.rar"压缩包包含的是Perl DBI的1.40版本,适用于i386架构的系统。这个版本的...
sudo命令允许用户以超级用户权限运行,rpm是Red Hat Package Manager的命令行工具,-i参数用于安装软件包,-v参数表示显示详细过程,-h参数表示安装时显示进度条。*.rpm是一个通配符,代表匹配当前目录下所有的rpm...
安装指令分为两步,首先是通过rpm命令安装perl-CGI-3.63-4.el7.x86_64.rpm包,rpm命令是RPM包管理器的命令行工具,用于安装、卸载、查询和管理RPM软件包。其中“-ivh”参数分别代表“install”安装、“verbose”详细...
rpm是RPM包管理器的命令行工具,通过“-ivh”参数可以实现安装并显示过程信息。 此外,如果用户在安装过程中遇到任何问题,可以私信博主以获取全程的安装指导。这说明博主提供了额外的用户支持服务,帮助用户完成...
文件标题 "perl-Crypt-OpenSSL-Random-0.04-21.el7.x64-86.rpm.tar.gz" 指明了该压缩包内容是一个在64位和86位架构的Linux操作系统(例如CentOS 7.x)上运行的Perl模块——perl-Crypt-OpenSSL-Random的安装包,版本...
首先,需要在命令行界面中对压缩包进行解压,执行命令tar -zxvf /mnt/data/output/perl-XML-XPath-1.13-22.el7.tar.gz。解压后,用户将得到一个包含所需文件的目录。接下来,用户需要进入解压后的目录,并执行rpm...
这里的参数“-i”代表安装,“-v”是详细模式,表示在安装过程中显示详细信息,“-h”则是显示安装进度。 值得注意的是,如果安装过程中遇到依赖问题,可能需要手动下载并安装相应的依赖包。为了帮助用户解决这类...
"-ivh"是rpm命令的参数,其中"-i"表示安装,"-v"表示显示详细的信息,"-h"表示打印安装过程中的哈希标记。"--force"是一个rpm选项,用于在安装过程中强制覆盖已有的文件或处理其他潜在的冲突问题。 由于【标签】为...