in reply to Use of uninitialized value

These two snippets run from the command line show the difference between just declaring a scalar and initialising it to an empty string. Running under use warnings, the first snippet generates the message, the second doesn't as the string has been initialised.

$ perl -e ' > use strict; > use warnings; > my $string; > print qq{>$string<\n};' Use of uninitialized value in concatenation (.) or string at -e line 5 +. >< $ perl -e ' > use strict; > use warnings; > my $string = q{}; > print qq{>$string<\n};' >< $

I hope this illustrates the difference.

Cheers,

JohnGG