perl 中的面向对象多继承

来源:互联网 发布:mysql engine=myisam 编辑:程序博客网 时间:2024/05/18 01:40
 perl 面向对象继承:[root@jxglapp1 pfwx-master]# pwd/root/pfwx-masteruse lib "./lib";use mojo::Client;use Data::Dumper;use Mojolicious::Lite;use JSON qw/encode_json decode_json/;  use Encode;no strict;no warnings;use JSON; use POSIX;use JSON::RPC::Client;use Data::Dumper;use URI::Escape;use DBI; my $dbName = 'serv';  my $dbUser = 'SMSsendx';  my $dbUserPass = 'SMSsendx';#my $dbh = DBI->connect("dbi:Oracle:$dbName", $dbUser, $dbUserPass) or die "can't connect to database " ;my $client = mojo::Client->new();  print Dumper($client);  get '/api/SMSsendx' => sub {   my $c = shift;   #my $sourceip=$c->param('sourceip');   my $message = $c->param('message');      print "Length1==";      print length($message)."\n";       $sms=$message;      ##utf-8 flag      my $flag=Encode::is_utf8($message);      print "\$flag===$flag\n";      if ($flag)          {          Encode::_utf8_off($message);         print "Length2==";         print length($message)."\n";         $sms=encode_utf8($sms);         $sms=encode("gbk",decode("utf8",$sms)) }      else          {$message=encode("utf8",decode("gbk",$message)) };                 #$message=encode_utf8($message);g===$flag\n";      my $phone = $c->param('phone');      my @phone= split(/\|/,$phone);      $client->SMSsendx("$sms",\@phone);      #mojo::Client::LoadDb::insertdb(1,$sourceip,$message,$phone);      #$client->insertdb($sourceip,$message,$phone);     $c->render(json =>{retcode,0000});       };      get '/api/SMSinfo' => sub {      my $c=shift;      my $sourceip=$c->param('sourceip');      my @arr=$client->SMSinfo($sourceip);        $c->render(json =>\@arr);       };  app->start;    ------------------------------------------------------------------------  [root@jxglapp1 pfwx-master]# cat lib/mojo/Client.pm package mojo::Client;use base qw(    mojo::Client::SMSsendx    mojo::Client::LoadDb   );our $VERSION = "1.0";sub new{    my $class = shift;        my $self= {        client_version          => $VERSION        };        bless $self,$class;       return $self;};1;让 mojo::Client 去继承 mojo::Client::SMSsendx[root@jxglapp1 pfwx-master]# cat lib/mojo/Client/SMSsendx.pmpackage mojo::Client::SMSsendx;    use IO::Socket::INET;    use Data::Dumper;    use Encode;sub SMSsendx {   my $self=shift;   my $message=shift;   my $refphone=shift;   # print "sock\$message is $message\n";   foreach $phone (@{$refphone}){     $|=1;    $sock = IO::Socket::INET->new(PeerAddr => '10.3.229.1',                                   PeerPort => '745',                                   Proto=>'tcp'                               ) or die "$!\n";   my $data="";   my $tab=chr(9);