The biggest problem is that redo is outside a loop. There is nothing to redo. Maybe this is what you mean to do (with print commands added for tracking process) :
Code:
my @n = (10..100);
my $i;
my $j;
LINE1: for ($i; $i < 10; $i++) {
$i = $n[int rand @n];
$j += $i;
if ( ((5500 - $j) < 10) || ((5500 - $j) > 100) ) {
print qq{Inside "if" condition $j\n};
redo LINE1;
}
print $j,"\n";
}