PERL中@ARGV是什么定义?可否编辑一段代码

作者&投稿:钊度 (若有异议请与网页底部的电邮联系)
perl中$#ARGV是什么意思~

遇到perl的问题首先查perldoc,在perlvar里查到关于@ARGV的一条:The array @ARGV contains the command-line arguments intended for the script.$#ARGVis generally the number of arguments minus one, because$ARGV[0]is the first argument, not the program's command name itself. See$0for the command name.可以看出,$#ARGV为命令行参数(不包括命令本身)的个数减一,即数组@ARGV最后一个元素的索引。用处也就是在程序开始时判断命令行参数个数,或者直接操作最后一个命令行参数。本质上,$#加数组名表示数组最后一个元素的索引,其实,这种糟糕的语法来源于C Shell,在实际的代码中不常见。判断命令行参数个数,可以把@ARGV用在标量上下文中,直接操作最后一个数组元素,可以利用负数索引值。(参见《perl语言入门》3.2 特殊的数组索引)

use utf8;

argument:参数
#test.pl
#!/usr/bin/perl
use strict;
print "@ARGV";
exit(0);

执行 ./test.pl a b c d
输出: a b c d


python基础教程 10-11例子如何执行
findall(pattern, string) 列出字符串中模式的所有匹配项 sub(pat, repl, string[, count=0]) 将字符串中所有pat的匹配项用repl替换 escape(string) 将字符串中所有特殊正则表达式字符转义 匹配对象和组 对于re模块中那些能够对字符串进行模式匹配的函数而言,当能找到匹配项时,返回MatchObject对象。包含了哪个...

遵义市13763427508: PERL中@ARGV是什么定义? -
长孙毅环磷: @ARGV 既然以@开头,标明这是一个list,你当做数组看就行了.含义是包含了程序从命令行得到的所有参数.比如运行 a.pl 10 20 30 a b c 则,$ARGV[0]是10$ARGV[3]是a 如此.

遵义市13763427508: perl中$#ARGV是什么意思 -
长孙毅环磷: 遇到perl的问题首先查perldoc,在perlvar里查到关于@ARGV的一条:The array @ARGV contains the command-line arguments intended for the script.$#ARGVis generally the number of arguments minus one, because$ARGV[0]is the first ...

遵义市13763427508: Perl中的ARGV,怎么看看不懂,谁能言简意赅的解释一下.谢谢. -
长孙毅环磷:[答案] 把@ARGV看为一个数组 该数组里面存的是命令行参数,第一个命名为$ARGV[0],第二个为$ARGV[1],依次类推 举例 test.pl a 1 b 2 c 3 a=$ARGV[0]; b=$ARGV[2]; c=$ARGV[4]; 1=$ARGV[1]; 2=$ARGV[3]; 3=$ARGV[5];

遵义市13763427508: perl 中定义的这个到底该怎么理解 我很模糊if ( $#ARGV < 0 ) { exit(1); } -
长孙毅环磷: 数组ARGV负责保存perl的命令行参数.该数组从下标0开始.$#ARGV表示数组的最后一个元素(不是元素个数)$ARGV[0]表示第一个元素的编号(下标).例如: if ( $#ARGV < 0 ) #因为下标应该比元素个数少1个,如果<0,则表示数组中的参数为0个#也就是说,数组至少应该有一个参数 $CONTROL_FILE = $ARGV[0] #取得的值则为数组的第一个参数

遵义市13763427508: Perl中的默认变量@ - 和$ - 什么意思? -
长孙毅环磷: @_ 在某个函数内,数组 @_ 包含传递给该函数的所有参数. $_ 默认的输入/输出和格式匹配空间 -------------------------------------------------------------------------------------------------------- @_的示例: #!/bin/perl -w use strict; &fun( 111,222,333 ); sub fun() { ...

遵义市13763427508: Perl中的ARGV,怎么看看不懂,谁能言简意赅的解释一下.谢谢. -
长孙毅环磷: 经常用在以下两处:1. 脚本外部传参#!/usr/bin/env perl my ($first, $second, $third) = ($ARGV[0], $ARGV[1], $ARGV[2]); print "first : $first, second: $second, third: $third\n";输入:perl test.pl a b c输出:first : a, second: b, third: c 2. 更方便地修...

遵义市13763427508: perl 中$ - @argv <stdin> 的区别 -
长孙毅环磷: $_:默认变量,比如for循环里可用$_,很多函数也以$_作为默认参数 @ARGV:命令行参数,类似C的argv[],第一个参数不是函数名<stdin>:标准输入流,<FD>表示文件句柄FD的输出流,用于读取标准输入/文件的输入,用法:@a = <stdin> 一次读取所有输入到@a中$a = <stdin> 每次读取一行到$a中

遵义市13763427508: ARGV这几个字母都是代表什么单词?(perl) -
长孙毅环磷: c语言的主函数如下形式:int main( int argc,char *argv[] ) 所以我猜argv估计是 argument value (参数值)的意思

遵义市13763427508: perl中“ - >”的用法 -
长孙毅环磷: 不能去掉,->代表的是取引用,数组 @a=(1,2,3), $a[0]=1 写成引用形式是$a=[1,2,3] 因此 $a->[0]=1, $RefCurrent是数组的引用类似于[1,2,3], @{$RefCurrent} 就是把引用转为数组,类似于@a, $RefCurUnit 就是数组@{$RefCurrent}中的一个元素,而这个元素本身又是一个引用.

遵义市13763427508: 菜鸟问题:关于perl @ARGV -
长孙毅环磷: 你在文件里面增加下面的语句,看看参数是否带入正确:print "ONE $ARGV[0]\n"; print "TWO $ARGV[1]\n"; 如果参数带入没有问题,你再看看当前文件夹下是否存在1.txt和2.txt.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网