@argv中存放命令行接过来的参数 不改变@argv的话 @argv = @argv <>从@argv 中读取 不知道对不对 1.[7] 写一个程序,类似于cat,但保持输出的顺序关系。(某些系统的名字可能是tac。)如果运行此程序:./tac fred barney betty, 输出将是文件betty 的内容,从最后一行到第一行,然后是barney, 最后是fred, 同样是从最后一行到第一行。(注意 使用./确保调用的是你自己的程序,而非系统提供的) #!/usr/bin/perl -w #perpose: lik...
by happyc84 - Perl - 2008-11-13 12:05:15 阅读(1921) 回复(9)
请帮忙解释一下它们之间的关系及区别,谢谢! @argv是传递的脚本的命令行参数。 [ 本帖最后由 gaoquanlong 于 2008-9-18 17:21 编辑 ]
在 if ( (val = fcntl(atoi(argv[1]), F_GETFL, 0)) < 0) err_sys("fcntl error for fd %d", atoi(argv[1])); 使用的是atoi(argv[1]) 但是我看到了很多代码中使用的是argv[1] 它们之间有什么区别那?
function stripslashes_array(&$array) { while(list($key,$var) = each($array)) { if ($key != 'argc' && $key != 'argv' && (strtoupper($key) != $key || ''.intval($key) == "$key")) { if (is_string($var)) { $array[$key] = stripslashes($var); } if (is_array($var)) { $array[$key] = stripslashes_array($var); } } } return $array; } 这里argc,argv分别是什么意思呢
#!/usr/bin/perl -w @argv=("aaa","bbb","ccc"); while (<>) {print "this line is :$_n";} 执行后 [root@IBM perl]# perl argv.pl Can't open aaa: No such file or directory at argv.pl line 3. Can't open bbb: No such file or directory at argv.pl line 3. Can't open ccc: No such file or directory at argv.pl line 3. 为什么<>不能从argv取值读入呢? [ 本帖最后由 Tiger_cn 于 2005-11-8 11:25 编辑 ]
#!C:/Perl/bin -w #This is a perl program for @argv explain. $pointer = \@argv; print "\nPointer Address of argv = $pointer\n"; $i = scalar (@$pointer); print "\nNumber of arguments is:$i\n"; $i = scalar (@argv); print "\nNumber of arguments is:$i\n"; $argc = $#argv; print "The number of arguments is $argc\n"; $#argv比scalar (@argv)小1,为什么呢?呵呵用了个数组测试,也是一样