http://qs321.pair.com?node_id=11104194

tukusejssirs has asked for the wisdom of the Perl Monks concerning the following question:

I try to run the following code
use warnings; use strict; use autodie; my $databas = "db"; my $password = "pass"; my $user = "postgres"; $dsn = "DBI:Pg:dbname = $database"; $dbh = DBI->connect($dsn, $user, $password, { RaiseError => 1 }) or di +e "ERROR: The database could not be opened."; create_table($dbh, $schema, $table, "col1 char(20)"); sub create_table { # my ($dbh, $schema, $table, $cols_type) = @_; my $dbh = $_[0]; my $schema = "$_[1]"; my $table = "$_[2]"; my $cols_type = "$_[3]"; $dbh->do("create table $schema.$table ($cols_type);"); # Hear it +happens; line 142 return; }
It warns me: Use of uninitialized value $cols_type in concatenation (.) or string at ./test6.pl line 142. How can I prevent this error?