- 博客(45)
- 收藏
- 关注
原创 构建hash数组
[root@june2 ~]# perl h1.pl www.b.com$value is 7.7.7.7[root@june2 ~]# cat h1.pl %hash;open (LOG ,"<","ip.txt"); while (){chomp ($_);if ($.%2==1){$a = $_};if ($.%2==0){$b = $_};$hash{$a} = $b;
2015-03-29 21:23:48 516
原创 第八章 引用
在C里,间接的最常见的形式就是指针,它可以让一个变量保存另一个变量的内存地址。在Perl里,间接的最常见的形式是引用。8.2.1 用反斜杠创建引用:\ 这个操作符的作用类似于C里的&(取址)操作符下面是一些例子:$scalarref = \$foo;$constref = \186_282.42;$arrayref = \@ARGV;$hashref = \%ENV;$cod
2015-03-27 20:36:26 480
原创 Perl 按地区统计访问次数
#!/usr/local/bin/perluse LWP::Simple qw(get);use Encode;use Encode::CN;use JSON; use URI::Escape;open (LOG ,"<","129_2");while (){$ip = $_;print "hostip is $_\n";$host = "http://ip.taobao
2015-03-26 11:03:59 402
原创 Perl 多个正则匹配
#$_='{"code":0,"data":{"country":"台湾","country_id":"TW","area":"","area _id":"","region":"台湾省","region_id":"TW_01","city":"","city_id":"","county":"" ,"county_id":"","isp":"","isp_id":"-1","ip":"125.2
2015-03-26 10:35:19 1157
原创 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 3743
原创 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 558
原创 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 444
原创 统计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 444
原创 return 函数
[oracle@june2 perl]$ cat a2.pl sub get_value(){ my $var; $var = 100; return 200; return($var);};$var = get_value;print "\$var is $var\n";[oracle@june2 perl]$ perl a2.
2015-03-24 19:48:30 502
原创 第六章 子过程 和子过程引用
第六章 子过程: 象其他的语言一样,Perl也支持自定义的子程序。(注: 我们也把它们叫做函数,不过,函数和子程序在Perl里是一样的东西。有时候我们甚至叫它们方法.@_ 存储的是数组参数@_ $_[0] 和$_[1][oracle@jhoa 20150319]$ cat a3.pl sub max {$max = shift(@_);for my $item (
2015-03-24 18:00:59 453
原创 第五章 模式匹配
第五章 模式匹配\b 匹配一个字符边界\t 匹配一个普通水平制表字符/bar{3}/ 匹配的是barrr5.2 模式匹配操作符:m// 用于匹配一个模式,s///用于将某个符合模式的子字符窜代换为某个子串每次成功匹配了一个模式(包括替换中的模式),操作符都会把变量$`,$&,$' 分别设置为匹配内容左边内容,匹配的内容和匹配内容右边的文本。[oracle@jun
2015-03-24 18:00:50 439
原创 清理CLOB
create or replace procedure show_space(v_segment_name in varchar2, v_segment_owner in varchar2 default user, v_segm
2015-03-24 13:50:19 897
转载 关于列的出现次数 和 累加值
---累加值[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 551
原创 第四章 语言和声明
4.1 简单语句一个简单语句是一个表达式,因为副作用而计算。每条简单语句都必须以分号结尾,除非它是一个块中的最后一句。4.2 if else 语句:[oracle@jhoa 20150319]$ cat 1.pl if (( my $color = ) =~ /red/i ) { $value = 1;}elsif ($color =~
2015-03-23 08:46:08 390
原创 第三章
数字 ==字符窜 eq逻辑操作符:[oracle@jhoa big]$ cat a2.pl if ( 2 > 1 && 3 > 2){print "ok\n"};[oracle@jhoa big]$ perl a2.pl ok&& 条件同时成立, 具有短路功能, 当左边不满足条件时,就不看右边了。[oracle@jhoa big]$ cat a2.pl if ( 1
2015-03-23 08:45:22 416
原创 第五章 模式匹配
第五章 模式匹配\b 匹配一个字符边界\t 匹配一个普通水平制表字符/bar{3}/ 匹配的是barrr5.2 模式匹配操作符:m// 用于匹配一个模式,s///用于将某个符合模式的子字符窜代换为某个子串每次成功匹配了一个模式(包括替换中的模式),操作符都会把变量$`,$&,$' 分别设置为匹配内容左边内容,匹配的内容和匹配内容右边的文本。[oracle@jun
2015-03-22 21:22:28 439
原创 Perl 元字符
+ 是一个特殊字符,表示匹配"+前边内容一次或多次。\s 空白 \t \n \r \f\w [a-zA-Z_0-9] 匹配任何单个字符\d 数字. 点号 匹配所有的字符\d{7,11} 将匹配最少7位数字,但不会多于11位数字。+ 代表最少一次* 表示0次或多次? 表示零或一次
2015-03-19 16:40:12 698
原创 Perl 调用短信
#!/usr/bin/perl $dir='/home/websphere/WebSphere/AppServer/profiles/AppSrv01/logs/server1';$file = '1.log';$mon_file="$dir/$file";print "\$mon_file is $mon_file\n";@warn_arr = qw/连接已关闭 NullPointEx
2015-03-19 09:37:45 462
原创 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 2472
原创 大骆驼 第二章
perl 里的语句是用分号结束的,数值相等用== 2.4 变量:$days 简称标量值 $days$days[28] 数组@days 的第29个元素$day{'Feb'} 散列%days 的“Feb"值${days} 和$days一样,不过在字母数字前面不易混淆$Dog::days 在Dog包里面
2015-03-18 19:56:56 445
原创 大骆驼第一章 perl概述
[oracle@dwh1 big]$ cat 1.pl $camels = '123';print $camels + 1 ,"\n";[oracle@dwh1 big]$ perl 1.pl 124同样的,一个引用在"解引用"环境表现为一个引用,否则就像一个普通标量一样工作,比如,我们可以说:$fido = new Camel "Amelia";
2015-03-18 19:56:34 487
原创 Perl 打印特定行日志
#!/usr/bin/perl $dir='/home/websphere/WebSphere/AppServer/profiles/AppSrv01/logs/server1';$file = 'SystemErr.log';$mon_file="$dir/$file";print "\$mon_file is $mon_file\n";@warn_arr = qw/连接已关闭 Nul
2015-03-18 15:29:31 1650
原创 11g 关于自动搜集统计信息
在11g之前,当表的数据量修改超过总数据量的10%,就会晚上自动收集统计信息,如何判断10%,之前的帖子有研究过:Oracle自动统计信息的收集原理及实验。这个STALE_PERCENT=10%,是无法修改的,如果表非常大,10%是非常多的数据,非常有可能造成统计信息不准确。 在11g之后,STALE_PERCENT=10%是可以修改的,分为全局(DBMS_STATS.SET_GLOBA
2015-03-18 09:49:19 527
原创 Perl 特殊符号
[root@june2 ~]# cat a2.pl sub digits_gone {my ($str) = @_;print "\$str is $str\n";print "\@_ is [@_]\n";print "\@_ is @_\n";@arr=[@_];@arr2=@_;print "\@arr is @arr\n";print "\@arr2 i
2015-03-17 21:06:37 674
原创 eval 函数防止程序崩溃
use HTTP::Date qw(time2iso str2time time2iso time2isoz); use Net::Ping; use Socket; use encoding 'euc_cn'; my @array=( "api.weixin.qq.cm" ); while (1==1){ my $CurrTime = time
2015-03-17 20:41:55 804
原创 oracle instr函数
1 您尾号1970的账户于2015-02-28 14:50存入RMB10.00,余额为RMB18970.002 尊敬的客户,您尾号1609的账户于2015-02-28 14:50本行汇款支出RMB0.01,余额为RMB1463568.863 尊敬的客户,您尾号0795的账户于2015-02-28 14:50本行汇款支出RMB0.01,余额为RMB1321477.59需求取出第一个RMB后
2015-03-17 16:12:25 400
原创 Perl 监控批量错误
#!/usr/bin/perl $dir='/home/websphere/WebSphere/AppServer/profiles/AppSrv01/logs/server1';$file = 'SystemErr.log';$mon_file="$dir/$file";print "\$mon_file is $mon_file\n";@warn_arr = qw/连接已关闭 Nul
2015-03-17 10:46:21 492
原创 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 696
原创 Perl 匹配IP或者数字
/pattern/ 结果. 匹配除换行符以外的所有字符x? 匹配 0 次或一次 x 字符串x* 匹配 0 次或多次 x 字符串,但匹配可能的最少次数x+ 匹配 1 次或多次 x 字符串,但匹配可能的最少次数.* 匹配 0 次或一次的任何字符.+ 匹配 1 次或多次的任何字符{m} 匹配刚好是 m 个 的指定字符串{m,n} 匹配在 m个 以上 n个 以下 的指定字符串{m,} 匹
2015-03-12 21:10:18 4554
原创 Perl 对象调用方法使用->符号
对象(object)也是一个引用,只不过具有一些额外的位。对象带有"是什么模块创建它"的相关信息,它以这种方式被‘神圣化’(blessed)而居于特定模块的软件包中。这些'神圣的' 引用将即系和其他引用样工作。例如,如果一个名为$object的对象时一个神圣化的散列数组引用,你可按如下所示索引它: $object->{last_name}; 使对象不同于一般引用的是它们具有方
2015-03-11 21:09:58 579
原创 syswrite 函数
$bytes = syswrite(FILEHANDLE,$data [,$length [,$offset]])syswrite()函数是又一个写文件句柄的选择,它可以更多地空值写的过程.它的参数是一个文件句柄和一个标量值(变量或字符串文字).它将数据写入文件句柄,返回成功写入的字节数。默认地,syswrite()尝试写$data的整个内容,从字符串的首字节开始。可以通过提供
2015-03-10 21:32:47 1339
原创 利用perl 改写awk统计
[root@dwh1 log]# whodwetl pts/0 2015-03-05 16:29 (10.130.136.56)dwetl pts/1 2014-12-12 20:41 (10.129.133.154)dwetl pts/2 2015-03-09 15:57 (10.129.224.28)root pts/
2015-03-10 21:15:40 627
原创 第一章 输入和输出基础
[root@dwh1 perl]# cat 1.pl #!/usr/bin/perl#file:lgetl.pl##装入模块,我们通过use()使用IO::File模块,该模块包含Perl文件操作的面向对象接口use IO::File;#处理命令行参数 我们通过shift()从命令行中取出文件名并将其存储在名为$file的变量中my $fil
2015-03-10 21:12:58 419
原创 分页语句 where 条件列和Order by 列 引导列的问题
SQL> select * from table(dbms_xplan.display_cursor(null,null,'ALLSTATS LAST'));PLAN_TABLE_OUTPUT----------------------------------------------------------------------------------------------------
2015-03-10 12:24:38 1052
原创 open_cursors 和 session_cached_cursor
SQL> show parameter open_cursors --每个session(会话)最多能同时打开多少个cursor(游标) NAME TYPE VALUE ------------------------------------ ----------- -------
2015-03-06 18:58:15 660
原创 第一章 Mysql基本概念
mysql> create table students( -> student_id INT UNSIGNED, -> name VARCHAR(30), -> sex CHAR(1), -> birth DATE, -> PRIMARY KEY (student_id) -> );Query OK, 0 rows affected (0.01
2015-03-05 20:57:49 394
原创 Mysql 源码安装
注:请自行配置好yum源,不过centos默认的在线yum源也挺好用# yum -y install gcc gcc-c++ gcc-g77 autoconf automake zlib* fiex* libxml* ncurses* libmcrypt* libtool-ltdl-devel* make cmake --必要软件包安装rpm -qa gcc \gcc-c++ \
2015-03-05 20:47:39 411
原创 第十七章 高级PERL技巧
用eval 捕获错误有时看上去平淡无奇的代码却能导致严重错误,以下的这些典型语句都能让程序崩溃:eval 这块代码真的诱发了常见错误,就会停止运行,但不至于使程序崩溃. 1.程序崩溃,下面的没在继续执行 [oracle@dwh1 dbi]$ cat 1.pl {$var = 2 / 0; }; print "An error occurred: $@" if $@;
2015-03-05 11:02:35 954
原创 Perl Socket 简单例子
服务端:#!/usr/bin/perl -wuse IO::Socket;my $server_port = 9999;my $server = IO::Socket::INET->new(LocalPort => $server_port, Type => SOCK_STREA
2015-03-04 19:22:08 1602
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人