Toon posts:

[perl] CPAN op ISP checken...?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een site bij een ISP

ik ben een beetje perl n00b enne wil iets gaan maken met perl en mySQL nou heb ik begrepen dat je daarvoor de CPAN DBI module voor nodig hebt??

Weet iemand hoe ik met een *.pl scriptje kan checken of mijn ISP het mogelijk maakt om met perl de database te gebruiken...?

Ik werk veel met php en mysql.
En nu wil ik ook iets met perl en mysql gaan doen....

tips e.d. welkom!

Verwijderd

Lees de DBI docs zou ik zeggen.

Daarin staat vermeld hoe je module moet aanroepen in je script. Als je dan een error krijgt als: 'DBI.pm not found in @INC' dan kan je er van uit gaan dat de modeule niet geinstalleerd is. Dat neemt niet weg dat je dat dan niet zelf kan doen: lees perlmodinstall, het onderdeel van de docs waar ze je uitleggen hoe je een module installeert.

Verwijderd

Topicstarter
thanks!

Verwijderd

Topicstarter
Hallo ik heb dit ff geprobeerd. Heb ik uit een tut gehaald!
Maare krijg een 500 error. Heeft dit iets met schrijffout te maken of dat ik eventueel geen DBI heb?
Is DBI niet standaard ofzo dan?

[perl]
#!/usr/bin/perl

sub Create_DB_Connection{
use DBI;
$DSN = "DBI:mysql:databasename";
$user = "username";
$pw = "password";
$dbh = DBI->connect($DSN,$user,$pw)
|| die "Cannot connect: $DBI::errstr\n" unless $dbh;
return;
}
[/perl]

Verwijderd

zoals je zelf ook kan zien is dit geen CGI-script. Run het voor de gein es op de commandline en kijk wat ie zegt. Wil je het in je browser draaien zul je op z'n minst een geldige HTTP-header moeten sturen (lees de docs van CGI.pm) en moet je script executable zijn.

Verwijderd

Topicstarter
je bedoelt zoiets...??

[perl]

use CGI qw(header);
use CGI::Carp qw(fatalsToBrowser);

[/perl]

Heb ik gedraaid,
maare dan krijg ik software error:

Execution of test.pl aborted due to compilation errors.

Maare nou weet ik nog of ik wel of geen DBI heb toch????

Verwijderd

please, gebruik 'use strict' en '-w', want dan hoef je veel vragen al niet meer te stellen, Perl vertelt het je zelf allemaal dan.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#!/usr/bin/perl -w 

use strict;

use CGI;
use DBI;

my $q = new CGI;

print $q->header;

my $DSN = "DBI:mysql:databasename";
my $user = "username";
my $pw = "password";
my $dbh = DBI->connect($DSN,$user,$pw) || die "Cannot connect: $DBI::errstr\n";

print "Connection OK";

$dbh->disconnect;
Pagina: 1