Allora,
prova a far girare questo codice sul tuo server linux:
codice:
#!/usr/bin/perl
use strict;
use warnings;
use diagnostics;
use CGI::Carp "fatalsToBrowser";
use Config::IniFiles;
print "Content-type: text/html\n\n";
print "eseguito!\n";
exit(0);
eventualmente se ci sarà un errore ti verrà riportato dallo script in modo chiaro, ad esempio modulo mancante.
In generale, nei tuoi scripts CGI metti sempre in testa i seguento moduli:
codice:
use strict;
use warnings;
use diagnostics;
use CGI::Carp "fatalsToBrowser";
Per quanto riguarda il tuo codice ho notato una cosa:
codice:
$cfg = new Config::IniFiles( -file => 'http://localhost/cgi-bin/articoli.ini' );
spero che tu sappia che questa riga non funzionerà mai, cambiala invece con:
codice:
$cfg = new Config::IniFiles( -file => "articoli.ini");
Credo che il tuo script (per Linux) potrebbe essere quindi modificato cosi':
codice:
#!/usr/bin/perl
use strict;
use warnings;
use diagnostics;
use CGI::Carp "fatalsToBrowser";
use Config::IniFiles;
# Il file .ini si deve trovare nella stessa directory del prg
my $ini_file = "articoli.ini";
my $cfg = new Config::IniFiles( -file => $ini_file );
my $nomearticolo = $cfg->val( '001', 'nomearticolo' );
my $prezzo = $cfg->val( '001', 'prezzo' );
print "Content-type: text/html\n\n";
print "$nomearticolo - $prezzo";
se lo compilo e lo mando in esecuzione su Windows funziona, messo on-line no, qualcuno sa dirmi perchè?
Ma mica sul server metti il file compilato?
Spero cmq di esserti stato d'aiuto,
ciao