title: how to avoid Use of uninitialized value in concatenation (.) ? in perl v5.8.4
body: <pre><code>$ perl -e 'use warnings;my ($a,$b);$c=$a.$b;print $c'
  Use of uninitialized value in concatenation (.) or string at -e line 1.
  Use of uninitialized value in concatenation (.) or string at -e line 1.
  </code></pre>
  
  <p>I see that </p>
  
  <p>I decided it</p>
  
  <pre><code>use 5.8.4;
  use strict;
  use warnings;
  use Test::More tests =&gt; 2;
  my ( $start, $end, $sysid, $ver, $tradetype );
  ( $start, $end ) = ( 1, 10 );
  my $test = make_string( $start, $end, $sysid, $ver, $tradetype );
  is( $test, "1,10,,,\n", "make index string" );
  is( make_string( 0, 0, 0, 0, 0, ), "0,0,0,0,0\n", "test number" );
  
  sub make_string {
      my @input      = @_;
      my @input_init = map { !defined $_ ? '' : $_ } @input;
      my $rezult     = join q{,}, @input_init;
      return $rezult . "\n";
  }
  </code></pre>
  
  <p>i decided that question, but i I wanted to know how this problem can be solved in other people</p>