(P.S. chromatic fixed the code the article mentioned. Thanks, chromatic.) CGI is okay Bad Code is Irresponsible Basically I agree with his article. However, I don't think that code is "bad": (from Very simple login using Perl, jQuery, Ajax, JSON and MySQL by IBM) my $dbh = DBI->connect("DBI:mysql:database=mydb;host=localhost;port=2009", "mydbusername", "mydbpassword") or die $DBI::errstr; I think