use strict; use warnings; use Data::Dumper; use Storable qw(thaw); use IO::Socket::SSL; use Safe; my $safe = new Safe; $safe->permit(qw(:default require)); {   no warnings 'once';   $Storable::Deparse = 1;   $Storable::Eval = sub { $safe->reval($_[0]) }; } while (1) {   my $socket = IO::Socket::SSL->new(      PeerAddr => 'localhost',      PeerPort => '9000',      Proto    => 'tcp',      SSL_use_cert => 1,      SSL_verify_mode => 0x01,      SSL_passwd_cb => sub { return "opossum" }   ) or die "unable to connect to 127.0.0.1:9000";   print $socket "__STATISTICS___\n";   local $/;   my $p2s = <$socket>;   my $s2p = thaw($p2s);   print "-----------FROM IO::SOCKET-----------\n";   print Dumper($s2p);   close($socket);   {      print "\n-----------FROM LOCAL PIPE-----------\n";      open my $fh, '<', './myfifo', or die $!;      local $/;      my $p2s = <$fh>;      my $s2p = thaw $p2s;      print Dumper($s2p);   }   sleep 3; }