Mario Vegliante ha scritto un messaggio il giorno 10-11-2007 20:18:
Salve mi chiamo Mario Vegliante e vivo un Germania.
Frequento un corso di informatica da circa un mese.
Mi hanno chiesto di scrivere un programma in Perl capace di automatizzare il lavoro di una stampante da codifica.
Non so proprio da dove cominciare.
Dovrebbe essere una cosa del genere, da un form in html dovrei interrogare(aprire) un file csv o di testo, cercando una determinata parola e dovrei avere come risposta ancora un nuovo form e quindi avere la possibilitá di cambiarne i valori in quella determinata posizione (es. nome:Mario sostituirlo con nome:Luigi)per poi salvare il tutto in un nuovo file o nello stesso.
Non so proprio come adattare gli script al mio programma, ho generato dei form per l´action ma non funzionano.
Se potrebbe inviarmi degli script commentati in italiano le sarei molto grado per il suo aiuto(non conosco l´inglese).
La prego é di fondamentale importanza, purtroppo qui i tedeschi non sono cosí gentili da potermi aiutare essendo uno straniero campione del mondo.
Ringraziandola in anticipo le auguro una buona serata.
Mario Vegliante
Martedí ha risposto:
![]()
Non è chiarissimo quello che deve accadere. Cmq mi sembra ti capire che il lancio dello script perl avviene quando eseguo una data operazione su una pagina HTML. Il server è in grado di riconoscere l'interprete perl? La pagina HTML deve passare dei dati o solo lanciare lo script?
Questa determinata parola da ricercare può comparire anche in altri contesti?
1) Supponiamo che il server interpreti perl, e la parola sia "prova"
2) lo script perl apre il file:
$tot=""; #per generare il nuovo file
open (FL,"file.csv");
while (<FL> ) #leggo riga per riga
{
if ($_ =~ /prova/) #ovvero se la riga contiene la parola prova
{$_ =~ s/prova/nuova parola/g} #ovvero sostituisci la parola prova con la nuova parola
$tot="$tot$_"; #rigenero il file con la riga modificata
}
close (FL);
3) $tot contiene tutte le righe del file.csv con le modifiche, ora basta sotituire il file
open (FL,">file.csv"); #se non voglio sovrascrivere il file basta cambiare il nome
print FL $tot;
close (FL);
4) e generare la risposta
print "Content-Type: text/html\n\n";
print<<EOF;
<html>
<body>
risposta in formato HTML
</body>
</html>
EOF
exit;
la pagina che lancia lo script invece sarà così:
<html>
<body>
<form action="percorso della pagina che contiene lo script" method="post">
<input type="submit" value="lancia lo script">
</form>
</body>
</html>
Ti consiglio di postare il quesito anche sul forum, ci sono molte persone che lo visitano e magari possono scaturire altre idee!