perl 对象 bless 引用
[root@dr-mysql01 ~]# cat aa.pl
use LWP::UserAgent;
use Data::Dumper;
my $ua = LWP::UserAgent->new;
$phone=$ARGV[0];
$cc=$ARGV[1];
$ua->timeout(10);
$ua->env_proxy;
$ua->agent("Mozilla/8.0");
$host = "xxxxxxxx";
my $response = $ua->get($host); my $var= Dumper($ua);
print $var;
print "\n"; my $var= Dumper($response);
print $var;
print "\n";
$ua->default_headers;
if ($response->is_success) {
print $response->decoded_content; # or whatever
}
else {
die $response->status_line;
}
[root@dr-mysql01 ~]# set -o vi
[root@dr-mysql01 ~]# perl aa.pl 180722722237 test
$VAR1 = bless( {
'max_redirect' => 7,
'protocols_forbidden' => undef,
'show_progress' => undef,
'handlers' => {
'response_header' => bless( [
{
'owner' => 'LWP::UserAgent::parse_head',
'callback' => sub { "DUMMY" },
'm_media_type' => 'html',
'line' => '/usr/share/perl5/LWP/UserAgent.pm:609'
}
], 'HTTP::Config' )
},
'no_proxy' => [],
'protocols_allowed' => undef,
'use_eval' => 1,
'requests_redirectable' => [
'GET',
'HEAD'
],
'timeout' => 10,
'def_headers' => bless( {
'user-agent' => 'Mozilla/8.0'
}, 'HTTP::Headers' ),
'proxy' => {},
'max_size' => undef
}, 'LWP::UserAgent' ); bless 引用 特定的包 perl 对象实现:
bless 以一个普通的指向数据结构的引用为参数。它将会把那个数据结构(注意,不是引用本身) 标记为属于某个特定的包, vim /usr/share/perl5/Net/Ping.pm $p = Net::Ping->new("icmp"); sub new
{
my ($this,
$proto, # Optional protocol to use for pinging
$timeout, # Optional timeout in seconds
$data_size, # Optional additional bytes of data
$device, # Optional device to use
$tos, # Optional ToS to set
) = @_;
print "0321.\$this is $this\n";
my $class = ref($this) || $this;
my $self = {};
my ($cnt, # Count through data bytes
$min_datasize # Minimum data bytes required
); bless($self, $class); ping 方法的第一个参数是$self 对象名 第2个参数是 域名或者IP地址 第三个参数是 超时秒数 $this = Net::Ping包的名字 $self is Net::Ping=HASH(0x6fad48) --对象 $class is Net::Ping jrhmpt01:/root# perl y2.pl
0321.$this is Net::Ping
$self is Net::Ping=HASH(0xe1cd48)
$class is Net::Ping
$var----
$self 对象: $VAR1 = bless( {
'proto_num' => 1,
'proto' => 'icmp',
'data' => '',
'device' => undef,
'tos' => undef,
'data_size' => 0,
'pid' => 6771,
'econnrefused' => undef,
'fh' => bless( \*Symbol::GEN0, 'FileHandle' ),
'timeout' => 5,
'local_addr' => undef,
'seq' => 0,
'retrans' => '1.2'
}, 'Net::Ping' ); jrhmpt01:/root#
perl 对象 bless 引用的更多相关文章
- [Perl系列—] 2. Perl 中的引用使用方法
Perl 中的引用,为什么要使用引用? 对于熟悉C语言的开发人员来说, 指针这个概念一定不陌生. Perl 的引用就是指针,能够指向变量.数组.哈希表甚至子程序. Perl5中的两种Perl引用类型为 ...
- 浅谈Java中的对象和引用
浅谈Java中的对象和对象引用 在Java中,有一组名词经常一起出现,它们就是“对象和对象引用”,很多朋友在初学Java的时候可能经常会混淆这2个概念,觉得它们是一回事,事实上则不然.今天我们就来一起 ...
- static成员变量与返回对象的引用
(1)用static修饰类成员变量(属性),表明该变量是静态的,无论创建多少对象,都只创建一个一个静态属性副本,也就是对象们共享同一个静态属性,这个方法常用的一个用途就是用来计算程序调用了多少次这个类 ...
- 不可或缺 Windows Native (18) - C++: this 指针, 对象数组, 对象和指针, const 对象, const 指针和指向 const 对象的指针, const 对象的引用
[源码下载] 不可或缺 Windows Native (18) - C++: this 指针, 对象数组, 对象和指针, const 对象, const 指针和指向 const 对象的指针, con ...
- Python 对象的引用计数和拷贝
Python 对象的引用计数和拷贝 Python是一种面向对象的语言,包括变量.函数.类.模块等等一切皆对象. 在python中,每个对象有以下三个属性: 1.id,每个对象都有一个唯一的身份标识自己 ...
- Python基础一. 简介、变量、对象及引用
一.Python简介 Python是一门计算机编程语言,它是由荷兰人Guido van Rossum在1989年圣诞节期间为了打发无聊的圣诞节而编写的,作为ABC语言的继承 特性: 面向对象.解释型. ...
- python学习笔记4(对象/引用;多范式; 上下文管理器)
### Python的强大很大一部分原因在于,它提供有很多已经写好的,可以现成用的对象 21. 动态类型:对象/引用 对象和引用: 对象是储存在内存中的实体,对象名只是指向这一对象的引用(refere ...
- Java数据类型和对象的引用
在Java中,变量分为两类: 1.基本类型变量,java是传递的副本 2.一切对象型变量,传引用副本的实质是复制指向地址的指针 a.基本类型引用 public class BasicTransmit ...
- opener 属性是一个可读可写的属性,可返回对创建该窗口的 Window 对象的引用
opener 属性是一个可读可写的属性,可返回对创建该窗口的 Window 对象的引用
随机推荐
- 1003 Crashing Balloon
考察DFS的应用,判断两个数的因子. #include <stdio.h> int f1,f2; void DFS(int m,int n,int k){ ){ f2=; ) f1=; } ...
- MYSQL 的 6 个返回时间日期函数
方法1. curdate(),curtime(),now() 方法2. utc_date(),utc_time(),utc_datetime(); 可以看到utc时间相比东西八区要小8小时 注意. 返 ...
- 在Azure Cloud Service中部署Java Web App(1)
Microsoft Azure是一个开放的,灵活的云平台,除了对自家的.Net平台有良好的支持外,对于各种开源的软件,语言,工具,框架都有着良好的支持,比如Java,Php,Python等等,你可以使 ...
- Oracle EBS-SQL (PO-18):检查工作台下达的PR在系统找不到.sql
select * From apps.po_requisitions_interface_all---------------------------------------------------- ...
- LogLog
https://github.com/rsyslog https://github.com/beave/sagan http://www.securitywarriorconsulting.com/l ...
- linux swap 分区调控(swap分区 lvm管理)
注:linux swap分区 采用lvm管理,调控可以采用下面的方法 一.查看 swap lv [root@testdb ~]# vgdisplay -v Finding all volume ...
- __declspec,__cdecl,__stdcall都是什么意思?有什么作用?
__cdecl和__stdcall都是函数调用规范(还有一个__fastcall),规定了参数出入栈的顺序和方法,如果只用VC编程的话可以不用关心,但是要在C++和Pascal等其他语言通信的时候就要 ...
- cf467A George and Accommodation
A. George and Accommodation time limit per test 1 second memory limit per test 256 megabytes input s ...
- 【刷题 Python Tip】题目1~5
[题目1]just print a+b give you two var a and b, print the value of a+b, just do it!! print (a + b) [题目 ...
- Android九宫格图片(9.png)的讲解与制作
刚开始学习Android的时候,会见到res/drawable的几个文件里面有*.9.png格式命名的图片文件.起初以为这只是Android素材的一些特殊命名,其实不是.它是能实现图片素材拉伸.收缩不 ...