perl黑豹
perl黑豹
优惠券已抵扣
余额抵扣
还需支付
¥39.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
scan724
这个作者很懒,什么都没留下…
展开
-
标量 数组 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-10-24 12:50:39 · 425 阅读 · 0 评论 -
perl 创建包
zjzc01:/root/big2# cat Employee.pm package Employee;use Data::Dumper;##创建正式雇员sub new_regular { my ($name,$age,$starting_position,$monthly_salary)=@_; my $employee = { "name" =>$name,原创 2016-01-06 17:58:43 · 548 阅读 · 0 评论 -
perl 面向对象
use lib 'D:\360安全浏览器下载\pfwx-master\pfwx-master\lib';use Weixin::Client;use Data::Dumper; my $client = Weixin::Client->new(debug=>0); my $xx= Dumper($client); print $xx; print "\n"use W原创 2016-01-07 09:49:27 · 132 阅读 · 0 评论 -
Perl 对象是函数的第一个参数
package Weixin::Client;use strict;use File::Spec;use Weixin::Util;use LWP::UserAgent;use Weixin::UserAgent;use LWP::Protocol::https;use base qw( Weixin::Message Weixin::Client::Callba原创 2016-01-08 16:24:11 · 1204 阅读 · 0 评论 -
Perl 面向对象的真正意思
cat RegularEmployee.pm package RegularEmployee;sub new { my ($name,$age,$starting_position,$monthly_salary)=@_; my $r_employee = { "name" =>$name, "age" =>$age, "position" => $starting_position原创 2016-01-08 21:39:09 · 442 阅读 · 0 评论 -
第<7>章 perl 中的对象:
perl 中的对象:一个对象(还可以称作一个实例,instance)就像一辆给定的桥车,拥有下面的这些内容:一个对象(还可以称作一个实例,instance)就像一辆给定的轿车,拥有下面的这些内容:1.属性(attribute) 又称特性(property)(如颜色:红色;座位数:4;动力 180马力)2.标识 (identity)(如我的这与你的不同)3.行为(behavior) ( 如它可以驾驶,原创 2016-01-07 12:35:34 · 497 阅读 · 0 评论 -
第8章 引用
第8章 引用假设你想制作一个简单的表(二维数组),为一组人员显示生命数据用---包括年龄,眼睛颜色,和重量等。你可以通过先给每个队里的成员创建一个数组来实现这个目的:@john = (47,"brown",186);@mary =(23,"hazel",128);在C里,间接的最常见的形式就是指针,它可以让一个变量保存另外一个变量的内存地址。在Perl里,间接的最常原创 2016-01-11 21:20:24 · 172 阅读 · 0 评论 -
第6章 子过程:
第6章 子过程:像其他的语言一样,Perl也支持自定义的子过程。(注:我们也把它们叫做函数,不过函数和子过程在perl里一样的东西。有时候我们甚至叫它们方法,方法和函数或子过程是同样的方式定义的,只是调用方式不同)1.0 语法:声明一个命名子过程,但不定义它,使用下面的形式:sub NAMEsub NAME P原创 2016-01-11 21:26:34 · 117 阅读 · 0 评论 -
perl 重复编码转换问题,没有影响
zjzc01:/root/big2# cat x1.pl $xx=$ARGV[0];use Encode;my $var=encode("gbk",decode("utf8","$ARGV[0]"));my $var=encode("gbk",decode("utf8","$ARGV[0]"));print "\$var is $var\n";zjzc01:/root/big2#原创 2016-01-12 09:40:16 · 369 阅读 · 0 评论 -
第9章 数据结构
第9章 数据结构my (@frames,@button); my %sub_of = ( "日志查询" => \&push_button2 , "温金短信查询" => \&push_button3 , "中均短信查询" => \&push_button4 , "机器信息查询" => \&push_button5,原创 2016-01-12 14:01:45 · 420 阅读 · 0 评论 -
perl 微信机器人获取消息
https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxsync?sid=59l6dzO93b47Zd/H&skey=@crypt_597aeefd_4b263f7393be4254a150baa608a7d821&pass_ticket=urqVbHsQ%252FbfitCOHwVVlpEsieXi4qXKmLZ2EMXZzx%252BcN0H9WYGGJUK3sP原创 2016-01-13 17:03:56 · 1090 阅读 · 0 评论 -
通过Net::Ping 理解Perl的面向对象
v-dev-redis01:/root# cat a1.pl sub check_dns{ use LWP::UserAgent; use Net::Ping;$web = shift; $p = Net::Ping->new("icmp"); if ($p->ping($web,2)){ return 1;} else { return 0;}} ;$va原创 2016-01-13 21:18:16 · 794 阅读 · 0 评论 -
第十二章 对象(上):
第十二章 对象(上):对象是一个数据结构,带有一些行为。作为一个类的实例,对象从中获益,取得其行为。类定义方法: 就是那些应用于类和它的事例的性质。12.2 Perl 的对象系统:一个对象只不过是一个引用因为引用令独立的标量代表大量的数据,一个类只是一个包:一个包当作一个类---通过使用包的子过程来执行类的方法,以及通过使用包变量来保存类的全局数据。原创 2016-01-14 14:40:52 · 117 阅读 · 0 评论 -
在Perl里 对象就是hash引用
在Perl里,对象就是对象就是一个hash引用原创 2016-01-14 16:16:21 · 807 阅读 · 0 评论 -
Perl 当前包概念
zjzc01:/root/big2# cat x1.plunshift(@INC,"/root/big2"); require x1; use Data::Dumper;$var=x1->new('zyj-test'); my $xx= Dumper($var); print $xx; print "\n"; print "1111111111111\n";pri原创 2016-01-14 16:26:09 · 373 阅读 · 1 评论 -
keepalive 检测web
v-dev-redis01:/root# cat a1.pl sub check_web{ use LWP::UserAgent; $web = shift;my $ua = LWP::UserAgent->new;$ua->timeout(5);$ua->env_proxy;$ua->agent("Mozilla/8.0");my $response = $ua->get("原创 2016-01-14 17:04:31 · 488 阅读 · 0 评论 -
第<4>章 子例程引用与闭包
和普通变量一样,子例程(subroutine) 可以是有名的也可以是匿名的,而且Perl 语法上支持对任何一种类型的引用。对有名子例程的引用:我们前面已经讲过,要创建对现存变量的引用,只需给它加上反斜杠前缀。对子例程也大致如此,如\&mysub 就是对&mysub的引用,又比如:zjzc01:/root/hei# cat a24.pl sub greet { print "原创 2016-01-04 11:02:30 · 406 阅读 · 0 评论 -
perl 继承实现
继承例子:zjzc01:/root/big2# cat Critter.pm package Critter;sub spawn {my $self = {print "122334456"}; # 指向一个空的匿名散列bless $self, "Critter"; # 把那个散列作成一个 Critter 对象return $self; # 返回新生成的 Critter};1;原创 2016-01-19 14:21:00 · 664 阅读 · 0 评论 -
第<3>章 Typeglob和符号表
perl 变量,符号表和作用域:Perl 有一个在其他语言中一般见不到的奇怪恶性,你可以使用同样的名字来标识数据或非数据类型。例如,标量变量$spud,数组@spud,散列表%spud,子例程&spudPerl 使用符号表来把标示符名(就是去掉前缀的"spud"字符串)映射到相应的值。Typeglob 是一种可以在脚本程序中使用的真实的数据类型,它拥有前缀"*",尽管你原创 2015-12-31 15:30:36 · 458 阅读 · 0 评论 -
第 5章 eval
Perl根据其参数类型的不同,以两种似乎截然不同的方工作。如果给定的是字符串,Perl就会将它当作小程序并编译执行(如前面所提到的那样);这被称做动态表达式计算。字符串的内容在编译时可以是以已知的也可能是未知的。如果给定的参数为一个代码块——–也就是说在编译时代码是知道的,则eval 则被用来捕获运行时的例外。字符串形式:表达式计算:[root@master perl]# cat m21.pl原创 2015-10-10 09:42:52 · 272 阅读 · 0 评论 -
第二章 实现复杂的数据结构
在Perl中使用数组的数组是最为直观的一种矩阵表达方式,因为Perl不直接支持二维数组:打印第2行,第三个元素[root@master perl]# cat m7.pl @matrix=([1,2,3],[4,5,6],[7,8,9]); print $matrix[1][2]; [root@master perl]# perl m7.pl 6[root@master perl]# 注意原创 2015-10-09 10:26:32 · 334 阅读 · 0 评论 -
第四章 子例程引用与闭包
和普通变量一样,子例程(subroutine)可以是有名的也可以是匿名的,而且Perl 语法上支持对任何一种类型的引用。这种引用很像C语言中指向函数的指针,它可以被用来创建如下复杂的结构:闭包(Closure).闭包是这样一种字例程,创建时,它将包含其子例程的环境打包。子例程引用:子例程并没有什么特别或神奇的地方,在这一节我们要学习如何创建对有名的和匿名的子例程的引用对有名子例程的引用:我们前面就已原创 2015-10-09 17:32:26 · 309 阅读 · 0 评论 -
第一章 数据引用与匿名存储
[root@master perl]# cat m1.pl $line[19]=”hello”; print “\@line is @line\n”; [root@master perl]# perl m1.pl @line is hello它创建了一个20个元素的数组,然后将最后一个元素赋值为一个字符串。你可以通过已有变量名前添加”\”来创建对它的原创 2015-10-08 15:27:24 · 320 阅读 · 0 评论 -
Perl 中的对象
Perl 中的对象让我们开始在Perl中实现对象之前,先来定义几个预备性的术语。一个对象(还可以称做一个实例,instance)就像一辆给定的轿车,拥有下面的这些内容:1.属性 又称特性(如颜色:红色;座位数:4;动力:180马力)2.标示(identity)3.行为(behavior) 某个特定类型的对象被称作属于一个类(class),我的车与你的车都属于叫做汽车的类,或者如果你并不关心具体的类别原创 2015-11-24 15:32:18 · 529 阅读 · 0 评论 -
perl 解析JSON
[root@dr-mysql01 ~]# cat ip.pl use Encode;use Encode::CN;use JSON; use URI::Escape;use LWP::Simple;print "hostip is $_\n"; $host = "http://ip.taobao.com/service/getIpInfo.php?ip=$ARGV[0]";$con原创 2015-12-11 17:24:17 · 2258 阅读 · 0 评论 -
数组的数组 散列的散列
数组的数组:数组的数组的引用: [] 表示数组的引用:[root@dr-mysql01 ~]# cat t1.pl @matrix=([1,2,3],[4,5,6],[7,8,9]);print $matrix[2][0];print "\n";print $matrix[1][1];You have mail in /var/spool/mail/root[root原创 2015-12-11 17:23:17 · 681 阅读 · 0 评论 -
第2章 实现复杂的数组结构:
实现复杂的数组结构:Perl 中使用数组的数组是最为直观的一种矩阵表达方式,因为Perl不直接支持二维数组:zjzc01:/root/perl# cat a14.pl @matrix = ([1,2,3],[4,5,6],[7,8,9]);print "\$matrix[1][2] is $matrix[1][2]\n";zjzc01:/root/perl# perl a14.p原创 2015-12-14 10:19:47 · 644 阅读 · 0 评论 -
第三章 Typeglob 和符号表
Typeglob 和符号表:zjzc01:/root/perl# cat t5.pl $a=20; { local ($a); ##先保存$a原先的值,新值为undef my (@b); ##Lexical变量 $a = 10; ##改变$a的新值@b = ("wallance","grommit");print $a; ##打印结果位"10"print "\n原创 2015-12-14 15:08:36 · 172 阅读 · 0 评论 -
第四章 闭包
闭包(Closure) 闭包是这样一种子例程,创建时,它将包含其子例程的环境打包(包括所有它需要的和不局部去本身的变量).子例程的引用:对有名子例程的引用:我们前面就已经讲过,要创建对现存变量的引用,只需要它加上反斜杠前缀。对子例程也大致如此,如\&mysub就是对&mysub的引用。比如:zjzc01:/root/perl# cat t8.pl sub greet原创 2015-12-15 10:58:41 · 120 阅读 · 0 评论 -
第六章 模块
包的基本知识:关键词package 标志这一个新的名字空间的开始,在它之后声明的所有的全局标示符(包括变量名,子例程,文件句柄,打印格式和目录句柄)都将属于这个包(package),例如:perl 包编写:zjzc01:/root/perl# cat t15.pl package BankAccount;$total =0;sub deposit{ my ($amo原创 2015-12-15 17:00:57 · 329 阅读 · 0 评论 -
perl 回调函数
回调函数 callback 在perl中的表现 我稍微总结了下回调函数,callback,希望能帮助新手理解模块中的callback 回调函数的认识: 1回调函数是一个函数,其在脚本中只能以参数的形式进行传递。不被直接调用。在perl中有两种形式;$funcrefer=sub {}; #引用 Sub xxx {}; \&xxx,#函数的引用取其地址 2回调函数原创 2015-12-15 20:36:41 · 964 阅读 · 0 评论 -
第<1>章 数据引用与匿名存储
主要有两方面的不同将用语创建真正复杂系统的编程语言,与普通的教学语言区分开来。那些更加健壮的编程语言具有以下特点:1. 不必使用变量名就能动态地位数据分配存储空间,我们称之为匿名数据结构2.可以指向任何数据结构,无论它是静态分配还是动态分配的指针,简言之,就是保存其他数据地址的变量。这个地址可以是机器地址,在C语言中就是这样,也可以是一种更高抽象层次的实体,比如名字或数组偏移量原创 2015-12-31 11:05:18 · 585 阅读 · 0 评论 -
第10章 包
在Perl里,一个名字空间叫一个包,包提供了基本的制作块,在它上面构造更高级的概念,比如模块和类等。在OO里,每个对象都属于一个叫做类的组。典型的类是用一个定义了与该类同名的包名字的模块实现的。在Perl里的面向对象的编程是通过引用来实现的, 这些引用的引用物知道它们属于哪些类。最初的当前包叫做"main",不过你可以用package 声明在任何时候把当前的包切换成另外一个原创 2016-01-13 11:20:32 · 383 阅读 · 0 评论 -
第<2>章 实现复杂的数据结构
用户定义数据结构:perl 中不存在这种内建的模板功能,一种常用的方式就是使用散列表来仿真结构类型,如图2-1所示:例子 :矩阵:在我们讨论这个例子之前,你必须知道如果你需要的是一个好的,高效的矩阵实现的话,就应该查看一下CPAN中的PDL模块在Perl中使用数组的数组是最为直观的一种矩阵表达方式,因为Perl不直接支持二维数组:zjzc01:/root/hei# cat a1原创 2015-12-31 14:07:18 · 366 阅读 · 0 评论 -
perl 对象 通过bless实现
对象只是一种特殊的引用,它知道自己是和哪个类关联在一起的,而构造器知道如何创建那种关联关系。 这些构造器是通过使用bless操作符,将一个普通的引用物转换成一个对象实现的,原创 2016-02-19 10:31:14 · 821 阅读 · 0 评论