in reply to Uninitialized value in string warnings (was: Warnings:)

You could try using diagnostics:-
just add the following to your program
use diagnostics;
you may need to comment out use strict; and remove the '-w' flag. What diagnostics does is give you a discription of what may be the problem.

In you particular case you are faced with using a possibly undefined variable as you have stated. You could either go ahead with your proposed idea, or "initialise" everything at the start of your code. EG
$a=""; $b=""; $c="";
Or you could put your potentialy uninitialied variable into a safe state after it is defined and before use eg.
$b = defined($b)?$b:"";

Hope this helps.

---If it doesn't fit use a bigger hammer