1. 首页 > 笙耀百科 >

perl编写规则_如何编写perl脚本

perl编写Genesis脚本的问题

1. csh.exe

perl编写规则_如何编写perl脚本perl编写规则_如何编写perl脚本


2. cd c:/perl/lib/core

3. h2ph.bat sys/

4. 会在c:/perl/site/lib/下产生.ph

5. 在c:/winnt/system32/drivers/etc/services文件里加入

genesis 56753/tcp # Genesis port for scripts

6. 将Genesis.pm,server.pl 拷贝到c:/perl/site/lib

这样以后写程式就不用特别指定路径只需use Genesis; 即可

7. 程式的开头如下

use Genesis;

$f = new Genesis; 程式后面就看你要写什么了...........

8 Genesis for NT 要用CSH写一个调用程式

假设主程式名称为Example.pl

另外写一个呼叫Example.pl的小程式,其档名为: call_example.csh(档名随便)

call_example.sh的内容如下:

#!/bin/csh

perl $path/example.pl 要加一个enter,确定换行

9. 然后就可以Run

perl程序如何编译成二进制文件并使用

我没用过这个工具,不过想来应该和用gcc通过c语言源文件编译出来的输出文件不多。你可以试试将输出的文件加上可执行权限,然后,把它作为一个命令在命令行下运行

perl早是unix系统(后来移植到windows上了)上的一种脚本语言(解释执行)。不过功能非常强大,可以与c语言(编译执行)媲美。一般需要在解释语言的环境下执行,也有工具可以把perl转换成exe文件。perl多的用途在于编写cgi动态网页的后台脚本,虽然她的功能远不止这些

几乎所有的跨平台工具都需要安装环境(引擎)php、perl、ja……

我想请问用perl写程式,写出输入几组数字后可以找出值、小值、平均值的程式,程式码该怎么写?

小值: perl -MList::Util=min -e" print min(1,3,4,5,6)"

值: perl -MList::Util=max -e" print max(1,3,4,5,6)"

平均值: perl -MList::Util=sum -e" print (sum(1,3,4,5,6))/5"

perl脚本语言,在Perl脚本语言下,如何修改文件内容?

Linux中使用Perl修改文件当你编写脚本或是安装程序的时候,就需要修改特定文件的数据,如果这时有自动修改文件的功能,那将会是非常实用的。例如,当你需要移动一个文件中的某个字符串或是命令,当你要改变许多文件的IP地址的时候,这个功能就可以拿来利用了。手动改变这些文件会耗费很长的时间,特别当它是一件重复性的任务。但是,你可以使用Perl程序来完成。所有的Linux供应商都有这个程序。执行以下作:$perl-pi-e's|[old_string]|[new_string]|g'[file]字符串可以是简单的命令或是常规的表达式。如果你要改变目录的位置(例:从/var/spool/mail到/var/spool/messages),你想要改变目录/etc下的每个文件来反映路径变化。执行以下作:$find/etc-typef|xargsperl-pi-e's|\/var\/spool\/mail|\/var\/spool\/messages|g'在这个例子上,我们使用搜索和xargs来确保系统只运行常规文件的命令,而不是非常规目录或其它文件类型的命令。这也就运行了/etc目录树,而且会递归的改变所有文件。由于我们/标识,所以我们必须输入了像\/var这样的路径而不是/var。Linux中使用Perl修改文件时我们也可以在Perl表达式使用分隔符。(除了使用|,你也能够使用/,#,@作为分隔符。)执行以下作,从整个文件里移开一个命令$perl-pi-e's|myword||g'file这就从基本上没有使用任何东西却代替了“myword”.(需要注意的是在第二个和第三个分隔符之间没有空格)。以这种方式使用Perl的话,当你修改配置文件或其它任何类型的数据的时候,你就会极具创造力。它就是一个自动搜索和代替的功能。

perl 正则表达式/^\s(.?)\s\=\s\"(.)\"/是什么意思?

if (/^\s(.?)\s\=\s\"(.)\"/) #匹配文件中每一行个字符串且该字符串要符合这样的规则:是连续的几个相同字符=连续的几个相同字符 如aaa=aaa 或者a=bbb或者 $$$=%%%%

$$1 = $2; # 将个匹配的字符串设置为变量对它赋值为等号右边的字符串

如: $aaa="aaa"或者$a="bbb"

希望能满意 呵呵

/^\s(.?)\s\=\s\"(.)\"/

文件每次读一行,上述正则表达式默认匹配$_变量,主要是为了匹配ini文件格式,该表达式匹配格式为:

空格+任意的主键值,也可没有+空格=空格+要有双引号括起来的内容

例:

no = "1234"

= "2345"

注意上面的空格个数

这段perl脚本是有问题的,要想打印出真正的$符号,必须要用到转义符\,所以应改写成

if (/^\s(.?)\s\=\s\"(.)\"/){

\$$1 = $2;

至于含义,我认为应该是:

然后把其中每一行 xxxx xxxx="BxxxBxxBx" 的内容

赋值变量$xxxx xxxx=BxxxBxxBx,我在perl 5.8.6中试过

将db.ini文件的内容读出来。

然后把其中每一行 AAA=BBB 的内容

赋值变量$AAA=BBB

求高手指教Perl语言中符号~的含义(高分悬赏)

所有perl的正则表达式都要有对这个问题的详细描述。

=~是一个运算符号,意思是匹配

if($new_line =~ /^([A-Za-z0-9]{10,10})\t/

意思是判断$new_line的值是否匹配后面的规则(10个字符数字之后一个

perl oneline的参数解释

1、基本格式:perl -参数 ‘命令' 输入文件

2、 perl -e 为必须要写的参数

3、 perl -pe 可用于读取文件每行,并按照给定的命令进行处理,输出;如将文件1.txt中的aaa替换为AAA: perl -pe 's/aaa/AAA/g' 1.txt

4、 perl -l 参数几乎可以跟n搭配代替perl经常用的 while(<>){chomp;} 语法

5、如果需要处理tab/空分割的文件的每一行内容,那么 perl -alne 参数几乎可以说是必备的,例如 while(<>){chomp;@F=split /\s+/,$_;print "$F[0]

"} 相当于: perl -alne 'print $F[0]'

6、perl单行命令脚本里的变量都不需要预先声明,如想打印出每空行,并且每行以行数开头: perl -``ne 'print ++$a." $_" if /./'

7、perl单行命令有时优于sed/grep等shell命令是由于其的正则匹配,通常简单的匹配可以如:匹配上的行号,模仿grep -c的功能: perl -lne '$a++ if /regex/; END {print $a+0}'

8、perl单行命令可以使用perl的模块,如使用sum函数的模块: perl -MList::Util=``sum -alne 'print sum @F'

9、perl也可以像awk一样使用END命令,如打印出文件中总单词个数

perl -alne '$t += @F; END { print $t}'

10、perl也可以使用 map{} 等函数,如打印出匹配上的单词的总个数: perl -alne 'map { /regex/ && $t++ } @F; END { print $t }'

11、perl单行命令可以说是将perl的简洁用到了,如打印出匹配上的行: perl -``ne '/regex/ && print'

12、perl单行命令能像perl一样灵活的使用则正表达式: perl -``ne 'print if /^\d+$/'

使用perl来处理数据的我们,会一点Perl one line可以有效的减少编写重复命令的时间,尤其是那些就用1-2次就不会用的脚本,尤其在window系统下不方便使用shell命令的时候。

PS. 当然在windows系统下也可以借用git模拟Unix命令环境~~~~

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至836084111@qq.com 举报,一经查实,本站将立刻删除。

联系我们

工作日:9:30-18:30,节假日休息