in reply to Expecting a 100 solutions, getting just 1

 $A_max = 1e-05, $B_max = 1e-04, $t_max = 200, $z_best = 1e+12;

Wrong separator ! Should be my $A_max = 1e-05; my $B_max = 1e-04; my $t_max = 200; $z_best = 1e+12;

You have to use strict; use warnings;

Perlish loops are simple to read

 for my $t (0 .. $_tmax) {...}

 for my $A_part (0 .. 100) { $A=$A_max*$A_part/100; ...}

Probably better because of floating point errors (when you add a lot of non-interger numbers)