Проверьте это, логика в PHP и Perl.
function calc_tax($salary) {
$params = array(array(5001,662.50), array(3551,412.5), array(2351,235.00), array(1401,117.50), array(651,47.50), array(151,15.00), array(0,0));
foreach ($params as $p) {
if($salary >= $p[0]) {
return $p[1];
}
}
return 0;
}
foreach (array(100,150,3500,8900) as $sal) {
echo $sal."==".calc_tax($sal)."\n";
}
Perl:
sub calc_tax {
my $sal = shift;
my @params = ( [ 5001, 662.50 ], [ 3551, 412.5 ], [ 2351, 235.00 ], [ 1401, 117.50 ], [ 651, 47.50 ], [ 151, 15.00 ], [ 0, 0 ] );
foreach $p (@params) {
if ( $sal >= $p->[0] ) {
return $p->[1];
}
}
return 0;
}
foreach my $sal (qw[160 3200 8900]) {
print $sal,"==",calc_tax($sal),"\n";
}