$$database_handle = DBI->connect(map {exists $arguments{$_} ? $arguments{$_} : $caller->"database_${_}"()} qw(data_source_name username password taint)) or die "Could not connect to the database: $DBI::errstr";