use of uninitialized value $ in pattern match 1