Selve OO er korrekt.
Fejlmeddelelsen kommer fra MySQL, der nægter adgang for brugeren 'delkav', men den bruger, du vil oprette forbindelse til, er 'root'.
I hvert fald ser det ud til, at din DBI->connect() linje er forkert. For at følge DBD::mysql-dokumenterne , skal du ændre din linje:
my $connect = DBI->connect("DBI:mysql:$database:$host", $user, $pwd) or die $DBI::errstr;
til
my $connect = DBI->connect("DBI:mysql:database=$database;host=$hostname;", $user, $pwd) or die $DBI::errstr;