(@fer) = find_all_categories(); sub find_all_categories { $id = shift; if($id) { $sthm = $dbh->prepare("SELECT * FROM category WHERE id='$id'"); $sthm->execute or die $dbh->errstr; } else { $sthm = $dbh->prepare("SELECT * FROM category"); $sthm->execute or die $dbh->errstr; } while (@hi = $sthm->fetchrow_array) { if($hi[2] eq "0") { push(@env, @hi[0]) } else { $a = find_all_categories($slog[0]); $i += $hi[3]; $i + $a; } } push(@env,$i); return(@env); }