Perl 大骆驼
Perl 大骆驼
优惠券已抵扣
余额抵扣
还需支付
¥39.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
scan724
这个作者很懒,什么都没留下…
展开
-
perl 模拟类冲突
[root@yyjk ~/20211215]#cat Horse.pmpackage Horse;#our @ISA=qw/Critter/;use base qw(Critter Duck);sub new {my $invocant = shift;my $class = ref($invocant) || $invocant;my $self = {color => "bay",legs => 4,owner => undef,@_, # 覆盖以前的属性};原创 2021-12-15 20:53:28 · 292 阅读 · 0 评论 -
第11章 模块
第11章 模块;模块是Perl里重复使用的基本单元,在它的外皮下面,它只不过是已定义在一个同名文件(以.pm)里面的包。模块有两种风格:传统的和面向对象的。传统模块为调用者的输入和使用定义了子过程和变量。面向对象的模块的运转类似声明并且是通过方法调用来访问的。use 语句在编译的时候对MODULE进行一次预装载,然后把你需要的符号输入进来,这样剩下的编译过程就可以使用这些符号了。如果你想提供你想要原创 2015-09-30 14:10:18 · 382 阅读 · 0 评论 -
Perl 模块依赖
CPAN Dependencies 依赖:给定的模块,这个服务显示它的依赖随着从CPAN 的测试结果, 你选择几个模块的使用,这个高速你最可靠的搜索。请注意: 这个网站是一个工具来分析模块的依赖性。 我不能帮助你任何你使用模块的问题。它依赖于 META.yml or META.json files,因此可以解决他们的依赖问题,并且区分大小写。原创 2015-09-28 21:07:14 · 1420 阅读 · 0 评论 -
标量 ,数组,hash 引用
[root@master Webqq]# cat t23.pl $var='aaa';$refvar=\$var;print "$$refvar\n";@arr=qw/1 3 5/;$refarr=\@arr;print @$refarr;print "\n";%hash=(a=>1,b=>2,c=>3);$refhash=\%hash;print %$refhash原创 2015-09-25 17:25:35 · 435 阅读 · 0 评论 -
Perl计数器
jrhapt01:/home/tomcat/sbin> cat test.out 123456789101112131415You have new mail in /var/spool/mail/tomcatjrhapt01:/home/tomcat/sbin> wc -l test.out 15 test.outjrhapt01:/home/tomcat原创 2015-06-01 20:20:30 · 598 阅读 · 0 评论 -
Perl 循环内没关闭文件句柄引发的问题
v-lhb-db01:/root/perl# cat 1.log 11112222333344445555异常111a1a2a3a4a5java.lang.NullPointerException]1234java.lang.NullPointerException5678----------------------------------------原创 2015-05-05 10:14:52 · 1400 阅读 · 0 评论 -
Perl 采集监控日志插入数据库
#!/usr/bin/perl use POSIX;use DBI; my $dbName = 'oadb'; my $dbUser = 'system'; my $dbUserPass = 'oracle'; my $dbh = DBI->connect("dbi:Oracle:$dbName", $dbUser, $dbUserPass) or die "can't conn原创 2015-05-07 16:22:10 · 738 阅读 · 0 评论 -
Perl 清空文件c1
open FILE,'>c1';close FILE;原创 2015-05-07 08:35:02 · 806 阅读 · 0 评论 -
Perl 监控 web展示
#!/usr/bin/perl use POSIX;use Encode qw/encode decode/;use CGI;my $dir = '/usr/local/apache-tomcat-7.0.55_8083/webapps/ROOT';my $file = 'MBANKAPP2-20150504141902logs.log';$mon_file = "$dir/$fil原创 2015-05-06 15:05:44 · 429 阅读 · 0 评论 -
Perl 利用grep 判断元素是否在数组里
[oracle@june2 ~]$ cat a3.pl my @allow_command=qw/ a1 a2 a3 a4/;my $binary='a4';if (grep m/$binary/,@allow_command ){print "11111111\n"};[oracle@june2 ~]$ perl a3.pl 11111111原创 2015-05-03 21:47:52 · 4250 阅读 · 0 评论 -
Perl 打印关键字上下行
#!/usr/bin/perl $dir = '/home/mysql';$file = '1.log';$mon_file = "$dir/$file";print "\$mon_file is $mon_file\n";@warn_arr = qw/连接已关闭 连接超时 NullPointException IndexOutOfBound exception/;foreach $原创 2015-04-28 14:52:28 · 614 阅读 · 0 评论 -
Perl and or 运算
$var=1;$var1=2;$var2=3;$var3=4;if (($var>1 and $var1>1) or ($var2==0) or ($var3 ==0)){print "111111111\n"};原创 2015-04-30 20:13:56 · 1640 阅读 · 0 评论 -
PERL get网页
while (1==1){use LWP::Simple qw(get);$host = "http://1.19.17.1:9080/app/html/jMhFclNyMQNBuPatBuOROawcRN/iuGoE7UinSGvjIZQ=";$content = get($host);sleep (1);原创 2015-03-25 21:39:17 · 566 阅读 · 0 评论 -
perl 调短信接口
v-lhb-app01:/home/tomcat> cat s2.pl use Encode;use Encode::CN;use JSON; use URI::Escape;use LWP::Simple;#$host = "http://ip.taobao.com/service/getIpInfo.php?ip=202.101.172.35";$host = "原创 2015-05-08 16:31:36 · 610 阅读 · 0 评论 -
Perl 调阿狸 IP接口
use Encode;use Encode::CN;use JSON; use URI::Escape;open (LOG ,"<","129_1");while (){print "hostip is $_\n"; $host = "http://ip.taobao.com/service/getIpInfo.php?ip=$_";$content = get($host);$原创 2015-03-25 14:48:10 · 464 阅读 · 0 评论 -
prinf 函数格式化
例如: %-7d 表示输出7位整数左对齐 %-10s 表示输出10个字符左对齐原创 2015-04-30 23:03:32 · 546 阅读 · 0 评论 -
perl 中的my和全局变量
$Some::stuff 使用包some的标准变量$stuffour 把名字限制于一个作用域,local 把值限制于一个作用域,my 把名字和值都限制于一个作用域my变量:[root@master Webqq]# cat t5.pl {my $var=11;print "\$var is 1--$var\n";}{print "\$var is 2--$var\n"};原创 2015-09-15 15:20:38 · 3796 阅读 · 0 评论 -
perldoc Module::Build::Tiny
[root@master sbin]# perldoc Module::Build::Tiny [root@master sbin]# locate Tiny.pm/root/.cpan/build/CPAN-Meta-YAML-0.016-RettOE/t/lib/TestML/Tiny.pm[root@master sbin]# locate Tiny/root/.cpan/bu原创 2015-09-30 19:03:32 · 604 阅读 · 0 评论 -
第八章 引用:
第八章 引用:在C里,间接的最常见的形式就是指针,它可以让一个变量保存另外一个变量的内存地址。在Perl里,间接的最常见的形式是引用@vitals = ('john', 'mary', 'bill');一个引用可以指向任何数据结构。因为引用是标量,所以你可以把它们保存在数组的散列里,因此我们就可以做出数组的数组,散列的数组,数组的散列8.2.1 反斜杠操作符:原创 2015-12-25 11:24:07 · 116 阅读 · 0 评论 -
第6章 子函数
第六章 子过程:1.0 语法:声明一个命名子过程,但不定义它,使用下面的形式;sub NAMEsub NAME PROTO声明并且定义一个命名子过程,加上一个BLOCKsub NAME BLOCK创建一个匿名子过程或子句,把NAME去掉就可以对于没有NAME 的形式,你还必须提供调用子过程的方法,因此你必须保存返回值,因为 这种形式的sub声明方法不原创 2015-12-23 16:38:13 · 361 阅读 · 0 评论 -
第5章 正则表达式
如果把斜杠用做分隔符,你可以把m//写成//,不用写m)为了有更好的颗粒度并提高效率,可以用小括号捕捉你特别想分离出来的部分。每对小括号捕捉与小括号内的模式向匹配的子模式,小括号对 由左小括号的位置从左到右一次排序,对应那些子模式的字符串在匹配之后可以通过有编号的变量$1,$2,$3 等等获取:Perl 的Unicode属性[root@master Webqq]# cat t8原创 2015-09-16 11:02:10 · 339 阅读 · 0 评论 -
bless 概念
bless 以一个普通的指向数据结构的引用参数。它将会把那个数据结构(注意,不是引用本身)标记为属于某个特定的包,于是这样就赋予了它更强大的功能。原创 2015-12-25 10:21:29 · 522 阅读 · 0 评论 -
第四章 语句和声明
$Some::stuff 使用包some的标准变量$stuffour 把名字限制于一个作用域,local 把值限制于一个作用域,my 把名字和值都限制于一个作用域my变量:[root@master Webqq]# cat t5.pl {my $var=11;print "\$var is 1--$var\n";}{print "\$var is 2--$var\n"};原创 2015-09-18 14:04:51 · 313 阅读 · 0 评论 -
第三章 一元和二元操作符
3.1 项和列表操作符(左向)3.2 箭头操作符:双目操作符-> 是一个中缀解引用操作符:如果右边是一个[...] 数组下标,一个{......} 散列下表或者一个(.....)子过程参数列表,那么它左边必须是一个对应的数组,散列,或者子过程的引用###一个数组解引用:zjzc01:/root/big# cat a24.pl $var=[1,2,3,4];prin原创 2015-12-18 15:24:13 · 907 阅读 · 0 评论 -
第二章 集腋成裘
$days 简单标量值 $days$days[28] 数组@days 的第29个元素$days{'Feb'} 散列%days的"Feb"值$Dog::days 在Dog包里面的不同的$days变量常用 通用 含义// m// 模式匹配` `原创 2015-09-17 14:17:20 · 406 阅读 · 0 评论 -
第一章 Perl 概述
$fido = new Camel "Amelia";if (not $fido){die "dead camel";}$fido->saddle();在这里,我们首选创建一个指向Camel对象的引用,并将它赋给变量$fido,在第二行中,我们将$fido当成一个布尔值来判断它是否为真,如果它不为真,程序将抛出一个异常。在这个例子中,这意味着new Camel 构造器创建Ca原创 2015-09-14 13:58:24 · 463 阅读 · 0 评论 -
第十二章 对象(上)
第十二章 对象(上)对象是一个数据结构,带有一些行为。我们通常把这些行为成为对对象的直接动作,有时候可以把这些对象拟人化。作为一个类的实例,对象从中获益,取得起行为。类定义方法:就是那些应用于类和其它的事例的性质。如果需要区分上面两种情况,那么我们就把适用于某一特定对象的方法叫做实例方法,而把那些适用于整个类的方法叫做类方法。12.2 Perl的对象系统:Perl原创 2015-12-28 16:55:21 · 113 阅读 · 0 评论 -
第9章 数据结构
9.1.1 创建和访问一个两维数组下面是如何把一个两维数组放在一起的方法:@Aoa = (["fred", "barney" ],["george", "jane", "elroy" ],["homer", "marge", "bart" ],);print "\$Aoa[2][1] is $Aoa[2][1]\n";[root@master Webqq]# perl t20.原创 2015-09-28 10:38:24 · 457 阅读 · 0 评论 -
第10章 包 名字空间,变量和函数
名字空间,变量和函数就不会把别人的变量和函数搞砸了,反之亦然,名字空间有点像你的家,你的家里想怎么乱都行,只要你保持你的外部界面对其他公民来说是适度文明就可以了。在Perl里,一个名字空间叫一个包,包提供了基本的制作块,在它上面构造更高级的概念,比如模块和类等。在OO的说法中,每个对象都属于一个叫做类的组。在Perl里,类和包以及模块之间的关系是如此密切,以至于需要新手经常认为它们是客户呼唤的,典型原创 2015-10-06 21:00:05 · 330 阅读 · 0 评论 -
perl 闭包
就像我们有无数的方法创建引用一样,我们也有好几种方法使用引用(或者称之为解引用).使用过程中只有一个最高兴的原则:Perl不会做任何隐含的引用或者解引用动作。如果一个标量挂在了一个引用上,那么它总是表现出简单标量的行为。它不会突然就称为一个数组或者散列或是子过程,你必须明确地告诉它进行转变,方法就是对它解引用。8.3.1 把一个变量当作变量名使用如果你看到一个标量,比如$foo,你应该把它看成fo原创 2015-09-24 18:05:18 · 781 阅读 · 0 评论 -
perl--匿名数据
在C里,间接的最常见的形式就是指针,它可以让一个变量保存另外一个变量的内存地址。在Perl里,间接的最常见的形式是引用。什么是引用?在我们的例子里,$vitals[0] 的值是”john”.也就是说它正好包含另外一个(全局)变量的名字,我们说第一个变量提到了第二个变量,并且这种参考叫符号引用,因为Perl必须在一个符号表找出@john 来才到能找到它。8.2 创建引用创建引用的方法有好多种,我们在讲原创 2015-09-21 17:03:16 · 546 阅读 · 0 评论 -
第12章 对象上
对象是一个数据结构,带有一些行为。作为一个类的实例,对象从中获益,取得其行为。类定义的方法:就是那些应用于类和它的事例的性质。如果需要区分上面两种情况,那么我们就把适用于某一个特定对象的方法叫做实例方法,而把那些适用于整个类的方法叫做类的方法。你可以把实例方法看做一个由特定对象执行的某种动作,一个对象就是一个引用……一个类只是一个包 Net::FTP - FTP Client class原创 2015-10-08 11:01:50 · 364 阅读 · 0 评论 -
perl数据结构输出 Data::Dumper
oaapp01:/root/test# cat a1.pl use Data::Dumper;%hash=(a=>1,b=>2,c=>3); $refhash=\%hash; print %$refhash; print "\n"; print "dump 数据结构\n";print Dumper(%hash);oaapp01:/root/test# perl a1.pl原创 2015-10-06 14:39:25 · 1340 阅读 · 0 评论 -
perl 转化 utf8/unicode/gb2312
use utf8; use Encode; use URI::Escape; #从unicode得到utf8编码 $str = '%u6536'; $str =~ s/\%u([0-9a-fA-F]{4})/pack("U",hex($1))/eg; $str = encode( "utf8", $str ); print uc unpack( "H*"原创 2015-09-16 17:16:02 · 633 阅读 · 0 评论 -
Perl 发送邮件
v-lhb-mgr01:/root/mon# cat m5.pl use Net::SMTP;# mail_user should be your_mail@163.comsub send_mail{ my $to_address = shift; my $mail_user = 'zhao.yangjian@163.com'; my $mail_pwd原创 2015-05-08 09:42:11 · 572 阅读 · 0 评论 -
关于列的出现次数 和 累加值
---累加值[websphere@mbank-app1 logs]$ cat awk.sh awk '{a[$1]+=$2}END{for (i in a) print i,a[i]}' $1[websphere@mbank-app1 logs]$ cat aaaa 1a 3a 10b 2b 7b 9[websphere@mbank-app1 logs]$ sh awk.s转载 2015-03-24 10:52:55 · 563 阅读 · 0 评论 -
Perl 在指定字符行下追加
open IN ,"a.txt" or die $!; ##读入文件open OUT ,">b.txt" or die $!; ##输出文件while () {print OUT $_;if ($_ =~ /add/){print OUT "xxx\n"}}[root@june2 perl]# cat a.txt add1234add56add原创 2015-03-18 20:07:06 · 2569 阅读 · 0 评论 -
Perl 判断字符串为空
[oracle@jhoa ip_sec]$ cat 2.pl $_='{"code":0,"data":{"country":"台湾","country_id":"TW","area":"","area _id":"","region":"台湾省","region_id":"TW_01","city":"","city_id":"","county":"" ,"county_id":"","is原创 2015-03-26 09:49:33 · 3794 阅读 · 0 评论 -
Perl 监控日志异常报警
#!/usr/bin/perl$dir='/root/log';$file_tmp = `cd $dir; ls -ltr logs.log* | tail -1 `;$file = (split/\s+/,"$file_tmp")[8];$mon_file="$dir/$file",print "\$mon_file is $mon_file\n";open (C,"<","$f原创 2015-03-16 21:42:18 · 709 阅读 · 0 评论 -
统计IP
#用法传入日志文件use HTTP::Date qw(time2iso str2time time2iso time2isoz);my $CurrTime = (split / /,time2iso(time()))[0];my %log;if ( $#ARGV < 1 ){ print "please input your date!\n";原创 2015-03-25 12:27:40 · 457 阅读 · 0 评论