perl 函数回调 引用$client->run(sub {$client->sync});

匿名函数引用:

[root@wx03 wx]# perl a1.pl 
CODE(0x2077b30)
test
[root@wx03 wx]# cat a1.pl 
$ref= sub {return test."\n"};
print $ref;
print "\n";
print &$ref;

[root@wx03 wx]# perl a1.pl 
CODE(0x21a2b30)
test



my $eventloop=$client->run(sub {print "test\n";});  


sub {print "test\n";} 是匿名函数一个引用;

[root@wx03 lib]# cat eventloop.pm 
package eventloop;

use AE;
   use AnyEvent;
##定义watch
    sub run {
	my $self=shift;
       my $code=shift;
    my $t = AnyEvent->timer(
        after    => 0,
        interval => $self->{interval},
        cb       => $code
    );
    ##不要再每秒打印时间
    ##undef $t;
    my $cv = AnyEvent->condvar;
    $cv->recv;
	};
1;

cb=> 必须是函数的引用:





[root@wx03 wx]# cat scan.pl 
use lib '/root/scanwx/lib';
use Client;
use Data::Dumper;
my $client=Client->new();

my $qrcode=$client->get_qrcode();
print "\$qrcode is $qrcode\n";

my $login_info=$client->login_info();
my $login=$client->login();


$client->run(sub {$client->sync});

$str=Dumper($client);
print "\$str is $str\n"


[root@wx03 lib]# cat sync.pm 
package sync;
sub sync {
   my $self=shift;
   print "test\n";
};
1;





转载于:https://www.cnblogs.com/zhaoyangjian724/p/6200018.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值