Using perl Syntax Highlighting
- sub getValue{
- my($self, $caseDetail, $plans, $testCaseFlow) = @_;
- my @plans = @$plans;
- if($caseDetail->data)
- {
- my $plan;
- my $error;
- try{
- foreach $plan (@plans){
- my ($plan_value, $data_value) = split ("-",$plan);
- if($caseDetail->data->name eq $data_value){
- return $plan_value;
- }
- }
- return $caseDetail->data->getValueByDataAndPlan($plan)->value;
- }
- catch{
- my $e = @_;
- $error = $e;
- };
- if($error){
- return $caseDetail->data->value;
- }
- }
- }
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4
Todo funciona perfecto menos cuando se cumple la condición del if()
Using perl Syntax Highlighting
- if($caseDetail->data->name eq $data_value){
- return $plan_value;
- }
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
La función es llamada así:
Using perl Syntax Highlighting
- my $value = $self->getValue($caseDetail, \@plans, $testCaseFlow);
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
Para los otros dos return() me entregan un valor, pero no así para el return() del if().
Me retorna un valor vacío...
¿Estoy haciendo algo mal?
¿Es posible hacer eso?
He puesto un print() dentro del if() y me muestra el valor de $plan_value, y todo Ok.
No sé en qué me estoy equivocando.
De antemano, gracias.