Perl开发
Perl开发
优惠券已抵扣
余额抵扣
还需支付
¥39.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
scan724
这个作者很懒,什么都没留下…
展开
-
perl 计算耗时(时分秒)
perl原创 2023-03-12 19:25:36 · 473 阅读 · 0 评论 -
perl 运算符<2>
[oracle@jhoa perl2]$ cat 1.pl if ((5 > 3) || ( 1 > 2) ){print "xxxxxxxxx\n"};[oracle@jhoa perl2]$ perl 1.pl xxxxxxxxx[oracle@jhoa perl2]$ cat 1.pl if ((5 > 3) or ( 1 > 2) ){print "xxxxxxxxx\n"}原创 2014-11-26 15:31:13 · 663 阅读 · 0 评论 -
perl chop和chomp函数
chop(str) 截去最后一个字符,无论是什么字符chomp(str) 截去末尾的行分割符(\n),行分割符可由$/定义。[oracle@jhoa bobooke]$ cat 2.pl #!/usr/bin/perl$a="abcd\n";#chop($a);print "chop $a";[oracle@jhoa bobooke]$ perl 2.pl chop abcd原创 2014-10-14 13:54:21 · 1300 阅读 · 0 评论 -
perl 限制用户操作
use strict;use Switch;use Sys::Hostname;use File::Basename;my $host = hostname;my $prompt = "$host >";my @allow_command=( "/bin/cat", "/bin/date", "/bin/df", "/bin/dmesg", "/原创 2014-10-28 19:16:06 · 612 阅读 · 0 评论 -
Perl 正则二
my $command="cd /tmp";print "\$command is $command:\n";my $newdir=(split /\s+/,"$command")[1]; ---取第2个元素print "\$newdir is $newdir:\n";[root@jhoa bin]# perl a1.pl $command is cd /tmp:$newdir原创 2014-10-30 14:54:52 · 570 阅读 · 0 评论 -
perl的引用<1>
变量的赋值:在内存里存放值 引用: 存放的是其他变量的地址,地址会指向变量 引用变量的名字: $ref原创 2014-11-15 21:12:22 · 496 阅读 · 0 评论 -
perl hash 根据键访问相应值
但是HASH的键则全部必须是唯一的字符窜访问hash元素[oracle@jhoa 9]$ cat 4.pl my %hash = ("a" => 1,"b" => 2,"c" => 3);$var= $hash{a};print "\$var is $var\n";[oracle@jhoa 9]$ perl 4.pl $var is 1hash 键赋值[oracle@原创 2014-10-11 13:51:30 · 1487 阅读 · 0 评论 -
子程序定义-3
递归调用:子程序可以互相调用,当调用该子程序本身时,即成了递归子程序。递归子程序有两个条件:1.除了不被子程序改变的变量外,所有的变量必须是局部的2.该子程序要含有停止调用本身的代码。递归程序编写: 计算阶乘: f(10)1.写出初始条件: f(1)=1;2.写出递推通式: f(n)=n*f(n-1) 类似数学归纳法的假设部分sub f{my $a=shift;原创 2014-11-13 16:09:31 · 837 阅读 · 0 评论 -
子程序定义-1
子程序即一段分离的代码,它可以使减少重复代码且使程序易读。PERL中,子程序可以出现在程序的任何地方。但一般放在程序的开始或结尾。sub subroute{ statements:}Sub开始,子程序名同变量的命名规则,可与变量同名。最好不要与内部函数同名。如果与内部函数同名则用&subroutine区分,不用&是内部函数,&是定义的函数,带有原型说明的子程序定义sub原创 2014-11-13 16:08:24 · 1536 阅读 · 0 评论 -
perl system和exec 调用
system 函数:[oracle@jhoa 10]$ cat 1.pl system "date";[oracle@jhoa 10]$ perl 1.pl Sat Oct 11 15:39:51 CST 2014[oracle@jhoa 10]$ cat 1.pl system "sleep 60";[oracle@jhoa ~]$ ps -ef | grep 1.plor原创 2014-10-11 16:39:02 · 2489 阅读 · 0 评论 -
perl map函数
perl map 函数perl 查看函数使用:perldoc -f mapmap BLOCK LIST 块和列表map EXPR,LIST 表达式和列表计算列表每个元素的BLOCK或者表达式(通常设置每个变量为$_),每个数组元素计算返回的值构成了新的结果集。在scalar环境下, 如果最终存储在数组中,则表示处理后为List.若返回存储在变量中,则返回元素原创 2014-10-31 22:33:04 · 836 阅读 · 0 评论 -
perl 控制结构
if (表达式) { 空格忽略,断行可以不同。语句} if(表达式) {elsif (表达式) { 语句语句} } elsif 和else 部分可以省略。......... 注意elsif 关键字else{ 语句块{} 必须有,但可以为空 可以嵌套语句} 含义 为真时执行,原创 2014-10-15 16:14:11 · 501 阅读 · 0 评论 -
perl while continue循环
今天发现Perl中原来还有个while-continue这样的循环。其功能是除了在while中进行last语句外,每走一次while循环,再执行 紧接其后的continue语句,甚至包括next语句。并且在while(),括号中的变量是可以在continue中继续使用的,当然也包括$_。比如:!/usr/bin/perlmy tempfile=“tmp.temp_file = “tmp.$”;#后原创 2015-11-11 16:52:36 · 3188 阅读 · 0 评论 -
perl unless循环
[oracle@jhoa 6]$ cat 4.pl $mon = $ARGV[0];unless ($mon eq "Feb") {print "This month has at least thirty days.\n";}else {print "Do you see what's going on here?\n";}[oracle@jhoa 6]$ perl 4.pl Fe原创 2014-10-11 10:43:23 · 810 阅读 · 0 评论 -
Perl My和LOCAL区别
全局变量:不加说明的变量为全局变量,在子程序中改变会覆盖已有的值。局部变量包含my 和local局部变量my:用my说明的变量如my $a; my定义的变量只在该子程序中存在。My定义的变量在程序块内存在,包括在程序块内部定义的程序块也可见。在程序块外销毁。如果在主程序开头定义时相当于全局变量。程序块是由{}包含的语句,if,while,sub都可以定义程序块。my($a,$原创 2014-12-02 15:26:37 · 1082 阅读 · 0 评论 -
Perl 正则分组
[oracle@jhoa perl2]$ cat a1.pl open(CPU,"<","/home/oracle/perl2/a1"); while () { chomp; if( /^model name.*: (.*$)/) { $cpu_number += 1; print "\$cpu_number is原创 2014-12-01 20:27:30 · 1235 阅读 · 0 评论 -
perl 捕获变量
\s 简写擅长处理空白 ,它相当于[\f\t\n\r ] 换页 制表 换行 回车 空格\s+ 匹配一个以上的空白捕获变量:[oracle@jhoa perl]$ cat a13.pl $_ = "Hello there,neighbor";if (/(\S+) (\S+),(\S+)/) {print "words were $1\n";}[oracle@jhoa perl原创 2014-11-25 20:52:05 · 1267 阅读 · 1 评论 -
Perl 颜色
[oracle@jhoa ~]$ cat d1.pl my $red="\e[1;31m";print "$red xx\n";my $green="\e[1;32m";print "$green xx\n";my $yellow="\e[1;33m";print "$yellow xx\n";my $normal="\e[0m";print "$normal xx\n";原创 2014-11-07 10:20:09 · 1077 阅读 · 0 评论 -
Perl join 函数
[oracle@jhoa 14]$ cat a3.pl @array=qw/a b c d e f g/;$var = join("9",@array);print "\$var is $var\n";[oracle@jhoa 14]$ perl a3.pl $var is a9b9c9d9e9f9g join EXPR,LIST Joins t原创 2014-11-07 10:19:24 · 5382 阅读 · 0 评论 -
Perl 标签语句
表达式为假的情况:逻辑值为假值为0字符串为空‘’列表为空undef[oracle@jhoa perl2]$ cat 3.pl @array=qw/1 2 3 4 5 6 7 8 9/;foreach $var (@array){print "$var\n";}print "循环外\n";print "$var\n";[oracle@jhoa perl2]$ perl原创 2014-11-27 11:06:57 · 1151 阅读 · 0 评论 -
数组的操作
列表--数组的形式形式:(1,"a",2.3,$a,$x+1)元素可以是任意类型,变量,表达式空列表:()单元素列表:(2) 。 与值2不同。qw(1 $a str)qw用法同q,qq. ()可替换成其他符号<>可以为值,变量,不同引号的字符窜,有空格分开范围表示的列表:.. : 范围运算符。每次增1。 1..3(1,2,3,4,5,6) -->原创 2014-10-21 10:27:58 · 557 阅读 · 0 评论 -
perl 正则
1.$question="pleaseaa";if ($question =~ /please/) { print ("Thank you for being polite!\n"); } else { print ("That was not very polite!\n"); }原创 2014-10-28 18:53:40 · 451 阅读 · 0 评论 -
子程序定义-2
[oracle@jhoa 16]$ cat 1.pl #!/usr/bin/perlprint "1.函数可放在任何地方.\n";while (1) {&readline;##输入等于q 就退出last if ($line eq "q\n");sub readline { $line = ; }}[oracle@jhoa 16]$ perl 1.pl 1.函数可原创 2014-11-13 16:08:59 · 560 阅读 · 0 评论 -
perl hash数组
Keys 和values 函数Keys函数能返回哈希的键列表,而values函数能返回列表。 如果哈希没有任何成员,则两个函数都返回空列表:[root@jhoa perl]# cat 35.pl my %hash = ("a" => 1, "b" => 2,"c" => 3);my @k = keys %hash;my @v = values %hash;print "@k\n原创 2014-10-11 10:27:25 · 719 阅读 · 0 评论 -
perl for 循环格式
for ($i = 1;$i <= 10;$i++){ #从1数到10 print "I can count to $i!\n";}原创 2014-10-08 15:59:58 · 5210 阅读 · 0 评论 -
perl if else循环
[oracle@jhoa 7]$ cat 5.pl if ( $#ARGV < 0 ){ print "请输入一个日期参数\n"; exit(-1); } $var = $ARGV[0];if ($var =~/xy/) ##匹配xy字符{print "ok\n"} else{print "no\n"}[oracle@jhoa 7]$原创 2014-10-08 14:09:57 · 3934 阅读 · 0 评论 -
perl while 循环
while (){ ###读取标准输入if (/END/) {last;}elsif (/fred/) {print 1;}elsif (/red/) {print 2;}}while (<>){ ###读取文件输入if (/END/) {last;}elsif (/fred/) {print 1;}elsif (/red/) {print 2;}}原创 2014-10-08 10:02:12 · 5084 阅读 · 0 评论 -
perl 文件[四]
-e 文件是否存在-s 是否为空文件操作glob @a=glob("*.txt") 返回与模式匹配的所有文件目录。如果赋值给简单变量则一次只返回一个文件.参数可以是文件名或目录只能接受有限的文件数,报文件太多错误。用shell来执行的,因为用shell用来解释执行,故运行速度慢。另一种形式是@a=,是古老的用法,推荐用glob? 匹配单个字符* 任何数目的字原创 2014-10-23 15:11:58 · 666 阅读 · 0 评论 -
perl 文件[二]
错误输出函数与错误变量open() || die "error$!"; 成功时不执行die,失败时执行 (||或操作)die($errstr);向STDERR输出指示错误信息的串,然后退出程序。warn($errstr);向STDERR输出信息,不退出程序$! 最后一次错误的信息。与die,warn 结合使用。die($str)中$str中最后不是\n时,输出自动添加at程序原创 2014-10-23 15:10:17 · 575 阅读 · 0 评论 -
perl 文件[三]
命令行参数:<> 什么也不写是读入标准输入@ARGV:全局,$ARGV[0] 是第一个参数,不是程序名。<> 是对$ARGV的引用。@ARGV一旦赋值,原值丢失。1.第一次看到<>时,打开以$ARGV[0]中的文件。无参数则打开STDIN读,所以可以忽略2.shift(@ARGV),元素数量减少一个3 <>读打开的文件中的所有行4. 在读第二格参数表示的文件文件原创 2014-10-23 15:06:23 · 563 阅读 · 0 评论 -
perl 文件[一]
文件描述符:访问文件时用来代表文件的数字。它是系统资源,系统限制打开的文件描述符的数量Perl中只有某些系统调用时才使用它文件句柄:功能同文件描述符,但是文件描述符文件句柄:功能同文件描述符,但是与文件描述符不是一个东西。Perl使用文件句柄代表文件文件描述符于文件句柄互相转换:文件句柄=>文件描述符: fileno(F);返回文件描述符文件描述符=>文原创 2014-10-22 16:24:21 · 529 阅读 · 0 评论 -
Perl HASH数组
数组的优缺点:元素内容可由下标直接得到。基址 + 下标 * 元素大小,是访问最快的方法。缺点:元素内容与位置无关。HASH数组的特点:1.有的位置可能无值为空,但也要留出空间。浪费空间,换取时间2.数组内容没有顺序的3.对查找单个值,比数组通过索引立即找到值慢,多了函数计算。但比链表块,不用从头到尾查一遍。HASH 数组的形式: %h=('a',1,'b',2)原创 2014-10-22 16:23:45 · 2312 阅读 · 0 评论 -
perl select count(*) 返回0条,为假判断
#!/usr/bin/perl use strict;use DBI;my $dbName = 'orcl';my $dbUser = 'test';my $dbUserPass = 'test';my $dbh = DBI->connect("dbi:Oracle:$dbName", $dbUser, $dbUserPass) or die "can't connect to dat原创 2014-09-17 14:58:27 · 896 阅读 · 0 评论 -
perl last语句
while () {if (/END/) {##碰到END就退出last;}elsif (/fred/) {print ok; }}原创 2014-10-08 16:00:32 · 559 阅读 · 0 评论 -
perl next语句
[oracle@jhoa 7]$ cat 7.pl for ($i = 1;$i <= 10;$i++){ #从1数到10next if ($i == 5); print "I can count to $i!\n";}[oracle@jhoa 7]$ perl 7.pl I can count to 1!I can count to 2!I can count to 3!I原创 2014-10-08 15:59:52 · 1316 阅读 · 0 评论 -
perl last next redo区别
last: 立即中止循环,就像C语言中的breaknext:有时候并不要求立刻退出循环,但是需要立刻结束当前这次迭代,这就是next操作符的用处,它会跳到内层循环块的底端。在next之后,程序将会继续执行循环的下次迭代redo操作符:redo,它能将控制返回到本次循环的顶端,不经过任何条件测试,也不会进入下一次循环迭代。redo 则会重新执行这次的迭代,next原创 2014-10-08 17:55:19 · 3563 阅读 · 0 评论 -
perl utf8 转gbk
use Encode;if ( $#ARGV print "请输入一个文件\n"; exit(-1); } $var = $ARGV[0];open (FILE ,"while () {$str = encode("gbk",decode("utf8","$_"));print "$str" ;}close FILE原创 2014-10-10 11:21:57 · 842 阅读 · 0 评论 -
perl-printf 函数
printf函数可以格式化输出字符串用法:printf FILEHANDLE FORMAT, LISTprintf FORMAT, LIST例如:printf函数先格式化字符串再输出到指定文件或当前缺省文件中,如: printf OUTFILE (“You owe me %8.2f", $owing);此语句取出变量$owing的值并替换掉串中的%8.2f,%8.2f是域格式的例子,原创 2014-11-12 14:28:32 · 2239 阅读 · 0 评论 -
perl 打开文件句柄
open (FILE,"<","cpbs.txt") || die "cannot open the file:$!\n";my @temp=;foreach (@temp) {print "Found $_\n";}close FILE;读入大型文件:open (FILE,"<","cpbs.txt") || die "cannot open the file:$!\n";wh原创 2014-10-09 13:54:23 · 1242 阅读 · 0 评论 -
三目运算符
if ( $#ARGV print "请输入一个日期参数\n"; exit(-1); } $var = $ARGV[0];($var < 10) ? print "small\n": print "bigger\n";原创 2014-10-09 13:56:11 · 738 阅读 · 0 评论