>>938
use strict;
use warnings;

を使い、後はエラーメッセージを頼りに修正するといい。

(数値である)$#bをわざわざ("$#b"で)文字列化してから( < 演算子で)数値評価してるのは何故?