Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Aiuto esecuzione perl

  1. #1

    Aiuto esecuzione perl

    Salve a tutti,
    vi espongo il mio problema, allora ho realizzato un programma:

    #!usr/bin/perl
    # Necessario installare Config-IniFiles-2.21
    use Config::IniFiles;

    # Il file .ini si deve trovare nella stessa directory del prg
    $cfg = new Config::IniFiles( -file => 'http://localhost/cgi-bin/articoli.ini' );
    $nomearticolo=$cfg-> val( '001', 'nomearticolo' );
    $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è?

    GRAZIE

  2. #2
    Il server ha installato il modulo use Config::IniFiles; ?

    Come fai a dire che non funziona? Ti da messaggi di errore?

    Se sì, quali?

    Sono settati giustamente i permessi del file ini?

  3. #3
    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

  4. #4
    codice:
    	$cfg = new Config::IniFiles( -file => 'http://localhost/cgi-bin/articoli.ini' );
    Haha, questo proprio non l'avevo visto

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.