From 001c36f8e8f5ef61c7cd2bd40e4061856c5cb270 Mon Sep 17 00:00:00 2001 From: Scott Walters Date: Wed, 20 Aug 2014 08:37:33 -0400 Subject: [PATCH] fix two instances of the "Can't modify non-lvalue subroutine call at lib/SOAP/WSDL.pm line 167." error. it looks like the author wrote return $a ? $b : $c = $d Intending it to mean: return $a ? $b : ($c = $d); ... but perl parses it as: return ( $a ? $b : $c) = $d; ... and perl 5.16 is more astute about lvalue errors like that. --- lib/SOAP/WSDL.pm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/SOAP/WSDL.pm b/lib/SOAP/WSDL.pm index 6a753ea..6d839f3 100644 --- a/lib/SOAP/WSDL.pm +++ b/lib/SOAP/WSDL.pm @@ -165,8 +165,8 @@ sub _wsdl_get_service :PRIVATE { my $ident = ident shift; my $wsdl = $definitions_of{ $ident }; return $service_of{ $ident } = $servicename_of{ $ident } - ? $wsdl->find_service( $wsdl->get_targetNamespace() , $servicename_of{ $ident } ) - : $service_of{ $ident } = $wsdl->get_service()->[ 0 ]; + ? $wsdl->find_service( $wsdl->get_targetNamespace() , $servicename_of{ $ident } ) + : ( $service_of{ $ident } = $wsdl->get_service()->[ 0 ] ); } ## end sub _wsdl_get_service sub _wsdl_get_port :PRIVATE { @@ -175,7 +175,7 @@ sub _wsdl_get_port :PRIVATE { my $ns = $wsdl->get_targetNamespace(); return $port_of{ $ident } = $portname_of{ $ident } ? $service_of{ $ident }->get_port( $ns, $portname_of{ $ident } ) - : $port_of{ $ident } = $service_of{ $ident }->get_port()->[ 0 ]; + : ( $port_of{ $ident } = $service_of{ $ident }->get_port()->[ 0 ] ); } sub _wsdl_get_binding :PRIVATE {