Is the IBM's code so bad?

(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 it is a standard style code, although I'd like to use the RaiseError option which is not enabled by default.

However, cromatic refactored it to be:
(from CGI is Okay but Bad Code is Irresponsible by chromatic)

die $DBI::errstr unless my $dbh = DBI->connect(
    'DBI:mysql:database=mydb;host=localhost;port=2009',
    'mydbusername', 'mydbpassword'
    );

Is this a "modern" code!? This seems very bad for me. The first thing I thought when I saw the code was, "why die? what die? hmm... ah! the main routine is DBI->connect(), not die!".

Although I haven't verified the other parts of the IBM's article, I don't think this part is so bad. At least I understood what it does in a split second.