Newsgroup: it.comp.lang.perl
Titolo: elaborazione di un file di testo

Ho bisogno di scrivere velocemente un programma in perl che faccia quanto
segue:
1. legga in input un file di testo
2. riconosca un determinato
pattern variabile del tipo:
                        <INIZIO>testo
dato<FINE>
3. sostituisca "testo dato" con "un'altra stringa.
4.
produca una copia del file origine
5. produca in output il testo con le
sostituzioni effettuate
Sono a diguino di perl..... qualcuno mi può
passare qualcosa di già fatto? Potete spedirmelo eventualmente anche sulla
mia e-mail.
Grazie.
--GM
--------------------------------
Inviato via 
http://usenet.iol.it

 fatto? Potete spedirmelo eventualmente anche sulla mia e-mail.
 
fanno 30 euro all'ora

> fanno 30 euro all'ora
Come Minimo! ;-)

 
per quante ore? ;-)



3 minuti, però l'elettrauto mi ha insegnato che si arrotonda sempre
all'ora intera

Non credevo di aver fatto una richiesta tale da scatenare tutte queste
polemiche. In ogni caso se credete che la mia richiesta fosse fuori luogo
cerco di riformulare la domanda.
Premesso che di perl conosco poco
niente (ma sto leggendo un tutorial preso da 
manuali.net
) l'unica cosa che
credevo di avere capito č che fosse un linguaggio molto adatto alla
manipolazione di  stringhe (nel senso che con 3/4 righe di codice riuscivo
a fare quello di cui avevo bisogno).
Quello di cui ho bisogno, in fondo,
non č altri che una funzione trova/sostituisci scritta in perl.
Da tale
considerazione,  avevo pensato che qualcuno un pň piů esperto di me (ci
vuole poco ad esserlo) potesse scrivere queste 3/4 righe al "volo". 
Ma se
non č cosi allora, magari, qualcuno potrebbe darmi indicazione su siti dovo
posso trovare esempi di codice per la manipolazione di file  testo in perl,
mi farebbe una cortesia. 
Scusate ancora se con la mia precedente
richiesta ho turbato gli equilibri di questo NG. :-)


 all'ora intera
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 all'ora intera


 
non è questione di essere suoi amici o meno, la questione è che mi sembra
fuori luogo che uno che non sa niente di perl chieda a qualcun'altro di
scrivergli un programmino, soprattutto se lo chiede perchè lui
''poverino'' ha tanta fretta e non può scriverselo perchè non sa niente...

"gianni_z" <e...@localhost.localdomain> wrote in message
news:pan.2002.05.14.08...@localhost.localdomain

Capisco questa tua presa di posizione, per me che sono nuovo al 
Perl, e mi sono trovato nella sua stessa situazione e un pò diverso.
non è che ci sia bisogno di scrivere tutto il programma , ma qualche 
consiglio senza polemizzare, più di tanto..
anche che ne sò l'istruzione di sostituzione, anche un piccolo aiuto 
è meglio di niente, ti ringrazio comunque per avermi aperto un pò gli 
occhi su quello che può accadere in un newsGroup, forse sono troppo
buono.
 ciao Alessio.


 chop(@VettValue=<FILE>);         #tutte le righe del file in un array
Perche perche' perche?????
Chi si iscrive all'
Associazione contro il "mettiamo tutto un file in un array per poi 
scorrere l'array": salviamo la RAM da un uso improprio 
(Acimtufiuaprsla)
che fondero' presto' :-)
-- 
Saluti,
Giancarlo

 cerco di riformulare la domanda. [CUT]
Cmq... io credo che piu' che altro si scherzava... ti sarai mica offeso? :-)
Vabè... ti faccio risparmiare questi 30 euro e ti scrivo la soluzione:
Problema:
1. legga in input un file di testo
2. riconosca un determinato pattern variabile del tipo: <INIZIO>testo
dato<FINE>
3. sostituisca "testo dato" con "un'altra stringa.
4. produca una copia del file origine
5. produca in output il testo con le sostituzioni effettuate
Soluzione:
_______inizio_programma_________
#!perl
$input_file = "testo_originale.txt"; #Il file origine
$output_file = "copia_di_testo_originale.txt"; # Il file destinazione che
sarà la copia del file origine
$pattern1 = "testo dato"; # Il testo da cercare
$pattern2 = "Cantami o Diva del pelide Achille l'ira funesta"; # Il testo
sostitutivo
open INPUT, $input_file; # Apro il file origine
open OUTPUT, $output_file; # e quello di destinazione
while (<INPUT>) { # finché non finisce il file... (evitiamo questo uso
spropositato di variabili e array!)
    print OUTPUT $_; # scrivo quello che leggo nel file di destinazione
(deve fare una copia, vero?)
    $_ =  s/$pattern1/$pattern2/igm; # sostituisco la prima frase con la
seconda
    print $_; # e scrivo a video il risultato della sostitudione
} # fine del giro
close OUTPUT; # chiudo la serranda
close INPUT; # e vado a casa!
______fine_programma____________
Non è che si sia capita bene la tua richiesta... prova un po'...
Ciao!
Guido.

>''poverino'' ha tanta fretta e non può scriverselo perchè non sa niente...
E' vero che avevo fretta... ma visto che la mia richiesta è stata ritenuta
impropria, e visto che sul NG non c'era spazio per soluzioni ma solo per
critiche (anche giuste forse?!), mi sono organizzato diversamente e ho
risolto comunque.
Comunque la questione era capire se qualcuno avesse già
scritto qualcosa in PERL che potessi riutilizzare. Tutto qua. 
Qualcuno
mi ha riposto, sto cercando di capirci qualcosa per sostituire il mio
programmino in C con un in Perl che faccia la stessa cosa.
 Ringrazio
comunque a tutti quelli che mi hanno aiutato.
Non credevo che un NG
avessi dei requisiti minimi di conoscenze. 
Mi scuso ancora qualora il mio
messaggio iniziale fosse risultato improprio
Ciao,
