en baştaki $b yi nerden çekiyor ?

Değişkenleri atadığınız yerin üstünde aynı değişkeni kullandığınız için olmuyordur büyük ihtimal.