in reply to To initialise or not to initialise?

I was schooled (in the academic sense) to initialize all variables upon declaring them. That was back in the days when Duran Duran was popular and most CS students cut their teeth on C. Initialization upon declaration was strongly encouraged simply because using uninitialized variables led to unintended (and very difficult to find) problems.

When I began using perl about a year ago, through force of habit, I always initialized my variables. However, recently I have realized that leaving them uninitialized can greatly help in the debugging process when used in conjunction with use warnings. Getting that quite popular Use of uninitialized value message immediately lets me know that I have an error in my code (usually logical) because I am expecting the variable to have a value when, in fact, it does not. Since I have adopted this habit of leaving variables uninitialized I have noticed that it takes less time to write, test, and debug my code.


Replies are listed 'Best First'.
Re^2: To initialise or not to initialise?
by PhilHibbs (Hermit) on Jun 25, 2004 at 09:19 UTC
    I come from a similar background, but I tend to initialize my variables. The reason is fairly simple - most of my variables store either strings that have been matched in a $[0-9], or flags indicating whether a match has been found in processing the file. These are set with lines like $flag = 1 if /pattern/;, or tested with lines like print "something\n" if $area eq "51"; so I need the flag to be initialised to 0.

    Most of my perl scripts are simple stdin or clipboard text processors for doing custom greps on source code or data migration files.