Come creare un file flat (testo piatto)
Creare un file di testo flat è un buon modo per gestire un piccolo database con informazioni base, come numeri di telefono dei clienti. Se prevedi più campi, meglio usare MySQL o Oracle. Questo articolo mostra come creare un database flat-file di base usabile su shell Windows, coprendo solo la creazione del file di input (il file di output un'altra volta). Per semplicità, creeremo un database che salva solo nomi e numeri di telefono. Dopo la pratica, potrai aggiungere altri campi.
Passo 1
Crea il programma di input. Apri un file di testo e salvalo come input.pl. Riaprilo nell'editor di testo.
Passo 2
Apri il file db.txt salvato per aggiungere informazioni digitando "open(DB,">>db.txt");" nel file input.pl. I simboli ">>" indicano che aggiungerai informazioni a quel file.
Passo 3
Ottieni l'input e invialo al file di testo. Digita: print "Client name: "; $name = <>; chomp($name); print "Client telephone: "; $phone = <>; chomp($phone); Questo cattura le due informazioni e le salva nelle variabili name e phone.
Passo 4
Stampa su db.txt nel formato indicato. Vuoi che appaia così: Name: Mike Davis, Number: 555-5523 Name: Jane Brooks, Number: 555-7878 Quindi digita: print DB "Name:$name,Number:$phone\n";
Passo 5
Apri la shell e vai in c:\directory digitando "cd c:" al prompt.
Passo 6
Vai alla directory dove hai salvato lo script, es. "db" dentro "bills": "cd bills\db".
Passo 7
Inserisci le informazioni richieste dal programma. Poiché inserisci due record, esegui il programma due volte. Per mantenerlo in esecuzione continua serve un ciclo while, ma è più complesso.
Passo 8
Verifica se hai creato correttamente il database flat-text aprendo db.txt. Dovrebbe assomigliare all'immagine.
Passo 9
Aggiungi tutti i nomi che vuoi, anche milioni se la memoria lo permette. Prova ad aggiungere altri campi come indirizzo o ID.
Suggerimento
Assicurati di mettere i ";" nei punti giusti. Il programma non girerà se mancano.
Avvertenza
Se fai un ciclo while, usa "Ctrl C" per fermare il programma se gira all'infinito.