Fix Thrift perl framedtransport

Reviewed By: jake luciani


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665117 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/lib/perl/lib/Thrift/FramedTransport.pm b/lib/perl/lib/Thrift/FramedTransport.pm
index 43e7b6f..0cf2f3b 100644
--- a/lib/perl/lib/Thrift/FramedTransport.pm
+++ b/lib/perl/lib/Thrift/FramedTransport.pm
@@ -73,17 +73,19 @@
 #
 sub read
 {
+
     my $self = shift;
     my $len  = shift;
 
-    unless($self->{read}) {
+    if (!$self->{read}) {
         return $self->{transport}->read($len);
     }
 
-    if (length($self->{rBuf}) > 0) {
+    if (length($self->{rBuf}) == 0) {
         $self->_readFrame();
     }
 
+
     # Just return full buff
     if ($len > length($self->{rBuf})) {
         my $out = $self->{rBuf};
@@ -105,7 +107,7 @@
     my $self = shift;
     my $buf  = $self->{transport}->readAll(4);
     my @val  = unpack('N', $buf);
-    my $sz   = $val[1];
+    my $sz   = $val[0];
 
     $self->{rBuf} = $self->{transport}->readAll($sz);
 }