#! /usr/bin/perl use strict; use warnings; use DBI; my %dbargs = ( PrintError => 0, ); # mit Umbruch und Leerzeichen my $dsn1 = qq|DBI:mysql: database=pl_test: host=localhost: port=3306|; # mit nur 1 Leerzeichen (my $dsn2 = $dsn1 ) =~ s/\n[\t ]*/ /mg; # ohne Umbruch oder Leerzeichen (my $dsn3 = $dsn1 ) =~ s/\n[\t ]*//mg; # teste alle Varianten for my $dsn ( $dsn1, $dsn2, $dsn3 ) { print "--8<--\n$dsn\n--8<--\n"; if ( my $dbh = DBI->connect( $dsn, 'user', '', \%dbargs ) ) { if ( $dbh->do( q'SELECT * FROM foo' ) ) { print "do executed.\n"; } else { warn "do failed: ", $dbh->errstr, "\n"; } $dbh->disconnect; } else { warn "connect failed: ", DBI->errstr, "\n"; next; } } __END__