子程序调用方法有4种:不知你是用哪方法,可以试试别的,或许问题就能解决。
1用类型标识符&和()调用(调用在子程序前或后都可)
&subname(参数1, 参数2,… );
…
sub subname
{
…
}
2用类型标识符&调用(调用在子程序前或后都可)
&subname;
…
sub subname
{
…
}
3用()调用(调用在子程序前或后都可)
subname(参数1, 参数2, … );
…
sub subname
{
…
}
4用裸字调用
“裸字”情况指的是,子程序名周围没有任何特殊
符号可帮助Perl判断程序里一个名字的用途.
此调用有两种情况:
(1)调用在子程序后
sub subname
{
…
}
…
subname;
(2)调用在子程序前
前向引用,需要先定义子程序名,后面再定义子程序体
sub subname;
…
subname;
…
sub subname
{
…
}
有两种方法,第一种很简单,如楼上所说,把newfiletxt改成你想要的任意文本,当然这是最简单,但是不能简单的应用于直接通过arguments来选取不同文件的方法
因此,就有第二种方法,十分常见,就如很多语言,例如c ,c++,java一样通过main(String[] args)一样,在perl里是通过数组@ARGV来传递的,所以在开头加上以下代码:
die "Usage:$0 <file>\n" unless @ARGV==1;
my $file=$ARGV[0];
open (FD,">",$file);
这里我只允许写如一个文件名,你也可以读几个,然后下面用循环来分别运行。
至于运行这个程序,比如你的perl文件叫,expl,那么在linux下,就expl newfiletxt就可以了;在win下一般你会用IDE,直接输入参数newfiletxt,即可
打开是什么意思???
运行吗,那perl可以下面这样调用exe文件:
system("routeexe print");
打开查看内容吗,那么perl可以使用open打开任何文件:
open(FD,"abcexe");
这个
这个
你的逻辑是不是有问题,如果是需要调用xpl的话
你把这个脚本写成一个sub不是更好。用while来一行行读txt
然后再处理。用system调用外部命令的话
会很慢
如是我闻, 我想除了 php, 好像没有第二种 CGI 语言是把自然嵌入到 HTML 里 在 Perl, 我们会把 html 嵌入到 perl 里 如:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!perl
print "Set-Cookie: \n";
print "Content-Type: text/html\n\n";
$x = 100;
$y = "Hello World";
print <<"HTML";
<meta >
主要是你下载的版本是否正确。如果你是WINDOWS平台,那么需要下载ActivePerl这些版本,这些里面才有perlexe。如果你下载的源码版,里面全是c语言的程序,需要编译。如果你下载的是LINUX版本,主程序是perl(没有exe)。
看明白自己的 *** 作系统,然后下载匹配的版本。
哈哈,又是你啊~~~
1 循环结构没问题,但是就象我上次说的那样,
for (my $i=0;$i<@file;$i++)带有c的风格,perl的执行效率不高。建议用
foreach $file_name (@file)
2 正则有问题,首先有个基本问题要搞清。"_"下划线是不需要转义的,所以不需要\,""在匹配点号时需要转义,当然号也算是一个非分隔字符,也能被匹配,只是那样做不是很好。
我的正则: $file_name =~ /+_(\d)+-(\d)+\(\d)+\\w+/
前提是文件名只是诸如:PM_200901091100-20090109120086xml这种包含数字字母的文件名。
以上就是关于perl中子程序名字为多个单词时怎么调用全部的内容,包括:perl中子程序名字为多个单词时怎么调用、perl编程做好了一个程序,如何可以将调用任意文本输入,进行处理,希望高手能给予一定的指点非常感谢!、perl如何打开windows的exe程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)