in reply to unitialized value error in pattern matching script

perldoc perlop and look at the section called "Binding Operators" and the difference between !~ and =~. I think you want the latter and not the former.

-derby