Hi Bernard,

 

You really should consider indenting your code to show proper scope.
It's not clear what you are trying to do here, but it appears you either
have a extra "}" or are missing an "} else {" after the "perform the
calculation" If the 2 lines are supposed to go together in the "if"
statement, just remove the lone "}" between them, otherwise make it an
"} else {".

 

Also you probably really want to do a modulus '%' 2 in the if statement
as what you have here will only execute one time during the loop, you
may also want to increment your loop by 2 instead of 1 since you are
processing 2 array elements per pass.

 

Your statements of the form "$output = $output . stuff" can be written
"$output .= stuff"

 

Rick

 

________________________________

From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of
Bernard Hill
Sent: Tuesday, May 06, 2008 7:08 AM
To: [email protected]
Subject: Basic PERL Script

 

Good morning, All. 

Not sure if this list supports basic questions, but I'll pose the query
to find out. 

I am new to PERL and working on an basic PERL script. The script will
import values into an array. when complete, I want to do a calculation
based on two feilds and drop the answer into the third field. Basically
I have the following script, but keep getting a syntax error and can't
figure out where I've gone wrong: 

sub { 
$output = ''; 

chomp $_[0]; 
$delim = $_[1]; 
@input_fields = split /$delim/, $_[0]; 

# input the values into the array 
for($i=0; $i
<$#input_fields; $i++) { >if i$ == 2 
{ 
# perform the calculation 
$input_fields[$i] = $input_fields[$i-1] * $input_fields[$i-2]; 
} 
output = $output . $input_fields[$i] . $delim; 
} 

$output = $output . $input_fields[$#input_fields] . "\n"; 
return($output); 
} 

Any help is grealy appreciated! 

Barney 

_______________________________________________
ActivePerl mailing list
[email protected]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

Reply via email to