in reply to Non-empty strings treated as null?!!

What happens when you switch if( $name != "" ) to if( $name ne "" )?... or perhaps if( length $name )

This issue would have been caught if your script started with use warnings; When doing relational comparisons with strings, you should use the stringy numeric operators: eq, ne, gt, ge, lt, or le. If you treat string like a number (ie, use numeric relational operators such as ==, !=, <, <=, >, >=, the empty string evaluates to numeric zero.


Dave