Home ] Su ] Novità ] Hardware ] Software ] Windows ] Sicurezza ] Linguaggi ] Cerca ] Contatta ] Guestbook ] Mappa ] Info su... ]

Le FAQ sul linguaggio Perl


La versione originale di questa FAQ è sempre disponibile all'indirizzo http://www.perl-it.org/.
Nel suddetto indirizzo potete trovare materiale più aggiornato rispetto al contenuto della FAQ sul linguaggio Perl di questo sito.
Prima di continuare a leggere le seguenti sezioni della FAQ sul linguaggio Perl, vi invitiamo a prendere visione del disclaimer, dei copyright e delle note di revisione, situate in questa pagina.



La FAQ list di it.comp.lang.perl

Qui sono raccolte le FAQ del newsgroup it.comp.lang.perl. Il lavoro non è ancora ultimato, quindi troverai molte domande senza risposta. Se vuoi collaborare, scrivici!

I maintainer di questa FAQ list sono:


Indice
  1. Informazioni su it.comp.lang.perl
    1. Perché it.comp.lang.perl?
    2. Di cosa non posso scrivere in it.comp.lang.perl?
  2. Domande generali sul Perl
    1. Cosa è il Perl?
    2. Perl è un linguaggio orientato agli oggetti?
    3. Cosa serve per programmare in Perl?
    4. Per conoscere l'esatta versione dell'interprete Perl?
    5. Posso compilare il Perl?
  3. L'interprete
    1. Dove posso trovare l'interprete Perl?
  4. Il linguaggio
    1. Che differenza c'è tra "&&, || e !", e "and, or e not"?
    2. Come posso creare una stringa di lunghezza fissa costituita da un numero sulla destra e, per il resto, da zeri?
    3. Come tolgo gli spazi bianchi all'inizio e/o alla fine di una stringa?
  5. I moduli
    1. Dove posso trovare i moduli?
  6. Network programming
    1. Come faccio ad inviare e-mail da Perl?
    2. Come faccio ad inviare e-mail con attachment?
    3. Come faccio a ricevere e-mail da Perl?
    4. Come faccio a trasferire i file in Internet?
    5. Voglio trasferire un file binario. Come faccio?
  7. CGI
    1. Esiste un modo più semplice per creare CGI?
    2. Come testare gli script?
    3. Il mio script funziona, ma non sul server. Perché?
  8. Sviluppare in ambiente Unix o Windows? (AKA: come creare script portabili)
  9. Risorse
    1. Dove posso trovare documentazione su Internet?
    2. C'è qualche buon libro disponibile?

 

D. Perché it.comp.lang.perl?

it.comp.lang.perl è un punto d'incontro *non moderato* per i programmatori Perl di tutta Italia o che comunque scrivono in italiano.
Ogni programmatore Perl fa del confronto con gli altri una parte molto importante della sua attività, quindi in questo newsgroup troverai parecchie persone disposte ad aiutarti con preziosi consigli. Il "rumore di fondo" (cioè i messaggi che nulla hanno a che fare con il Perl) sono pochissimi, e quindi il gruppo risulta molto facile da seguire.

Torna all'indice


D. Di cosa non posso scrivere in it.comp.lang.perl?

In it.comp.lang.perl si può scrivere di qualsiasi argomento che riguardi la programmazione in Perl, sotto qualsiasi sistema operativo.

Notevole eccezione è rappresentata dalla programmazione CGI alla quale, vista la vastita` dell'argomento, è stato dedicato un newsgroup apposito: it.comp.www.cgi. Alle domande su questo argomento troverai probabilmente risposta anche in it.comp.lang.perl, ma ricorda che esiste un altro newsgroup più adatto.

I messaggi che vanno *assolutamente* evitati sono quelli completamente off-topic e soprattutto messaggi commerciali (ci sono i newsgroup appositi anche per questi), spam ed altra robaccia del genere.

Torna all'indice


D. Cosa è il Perl?

perl è l'acronimo di Practical Extraction and Report Language ed è distribuito gratuitamente per piattaforme Unix, MVS, VMS, DOS/Windows, Mac, OS/2, Amiga e molte altre ancora.
Uno dei punti di forza di questo linguaggio è senza dubbio rappresentato dalle funzioni di manipolazione di testo e stringhe. perl raggruppa in se molte caratteristiche mediate da diversi linguaggi di programmazione ed ha raggiunto il suo apice di popolarità recentemente grazie al suo diffuso impiego nella programmazione dei form per il World Wide Web. (Paolo Scaglione)

Se vuoi saperne di più vai su: www.perl.it-org/tutorial/index.html

Torna all'indice


D. Perl è un linguaggio orientato agli oggetti?

Certamente!
Nel Perl troverai, quindi, i concetti fondamentali della programmazione orientata agli oggetti: la classe, gli attributi, i metodi, gli oggetti o istanze, l'ereditarietà e il polimorfismo. Però il modo in cui viene affrontato questo tipo di programmazione è del tutto originale.

Torna all'indice


D. Cosa serve per programmare in Perl?

A) Avere installato l'interprete Perl.

B) Avere un editor di testi per scrivere il programma.

Torna all'indice


D. Per conoscere l'esatta versione dell'interprete Perl?

E' sufficiente lanciare il comando:

perl -v

Torna all'indice


D. Posso compilare il Perl?

Pur essendo nato come un linguaggio interpretato, il Perl può ora anche essere compilato, il che lo rende di fatto pari a linguaggi di programmazione dal nome ben più blasonato.

La stessa distribuzione del Perl, sotto Unix, include il comando "perlcc", che permette appunto di creare vari tipi di eseguibili o di librerie a partire da sorgente Perl. Sono inoltre disponibili svariati compilatori commerciali, per varie piattaforme. Questo comando è stato incluso anche in ActiveState Perl per Windows.

Torna all'indice


D. Dove posso trovare l'interprete Perl?

L'interprete Perl lo puoi ottenere gratuitamente dal sito Web:
http://www.perl.com/

E precisamente:

Torna all'indice


D. Che differenza c'è tra "&&, || e !", e "and, or e not"?

A livello funzionale gli operatori logici sono equivalenti, cioè scrivere "&&" oppure "and" è la stessa cosa. La differenza è nella precedenza: and, or e not hanno precedenza bassa, mentre &&, || e ! hanno precedenza molto più alta (la stessa che hanno gli operatori logici ad esempio in C). Questo permette di fare quasi sempre a meno delle parentesi. Ad esempio:

unlink ("prova.txt", "prova2.txt", "prova3.txt") || (errore(), next CICLO);

può essere scritto:

unlink "prova.txt", "prova2.txt", "prova3.txt" or errore(), next CICLO;

Torna all'indice


D. Come posso creare una stringa di lunghezza fissa costituita da un numero sulla destra e, per il resto, da zeri?

È possibile utilizzare sprintf() (o printf() naturalmente). Ad esempio, se $num=89:

printf ("%09d", $num);

darà come output:

0000000089

È la presenza dello zero nella stringa di formato a causare il riempimento tramite zeri, quindi utilizzare "%9d" non porterebbe allo stesso risultato.

Torna all'indice


D. Come tolgo gli spazi bianchi all'inizio e/o alla fine di una stringa?

Tramite le regular expression. Per togliere gli spazi bianchi all'inizio si può usare:

$stringa =~ s/^\s+//;

Per togliere quelli alla fine:

$stringa =~ s/\s+$//;

Per toglierli entrambi:

$stringa =~ s/^\s+|\s+$//g;

oppure:

$stringa =~ s/^\s*(.*?)\s*$/$1/;

Torna all'indice


D. Dove posso trovare i moduli?

L'interprete Perl viene fornito con diversi moduli. Altri moduli li puoi acquisire dal sito: http://www.perl.com/CPAN-local/modules/index.html

Torna all'indice


D. Come faccio ad inviare e-mail da Perl?

È possibile, sotto Unix, aprire direttamente una pipe al programma "sendmail", es.:

open (MAIL, '|/usr/sbin/sendmail -t');
print MAIL "From: Mittente <io@miodominio.com>\n";
print MAIL "To: Destinatario <tu@tuodominio.com>\n";
print MAIL "Subject: Test\n\n|";
print MAIL "Questo e` il messaggio!";
close (MAIL);

È tuttavia raccomandato l'uso del semplice e potente modulo:

Mail::Mailer

C'è anche un modulo di utilizzo un tantino più complesso che risolve lo stesso problema:

Net::SMTP

Torna all'indice


D. Come faccio ad inviare e-mail con attachment?

Puoi utilizzare il modulo MIME::Lite, che trovi su qualsiasi sito del CPAN o, più brevemente, alla URL:

http://search.cpan.org/search?dist=MIME-Lite

Nella documentazione del modulo trovi le informazioni per generare un messaggio codificato MIME, con la possibilità di inserire degli attachment.

Torna all'indice


D. Come faccio a ricevere e-mail da Perl?

Puoi utilizzare il modulo

Net::POP3

che svolgerà le funzioni di client verso un server POP3. Per saperne di più cerca il modulo nel sito:

http://search.cpan.org/

Torna all'indice


D. Come faccio a trasferire i file in Internet?

Basta utilizzare il modulo in Perl

Net::FTP

che svolgerà le funzioni di client FTP.

Su http://search.cpan.org/ troverai le informazioni necessarie per utilizzare questo modulo.

Torna all'indice


D. Voglio trasferire un file binario. Come faccio?

Utilizzando il modulo

Net::FTP

devi inviare il comando:

$ftp->binary();

Torna all'indice


D. Esiste un modo più semplice per creare CGI?

Sì, utilizzando CGI.pm - una libreria di moduli molto potente realizzata da Lincoln Stein.

Qui troverai ciò che ti serve:

http://www.perl.com/CPAN-local/modules/by-module/CGI/

Torna all'indice


D. Come testare gli script?

Devi installare un Server Web sul tuo PC. Apache, ad esempio, è free. Lo trovi qui:

http://www.apache.org/dist/binaries/

sia per Linux che per Win32.

Le informazioni in italiano per installare Apache per Win32 le trovi nel sito:

http://myweb.3q.to/docs/cgi_win9x.html

Torna all'indice


D. Il mio script funziona, ma non sul server. Perche'?

Poniamo di avere il seguente script in Perl:

#!/usr/local/bin/perl5 -Tw
print "Ciao, Mondo\n";

Questo funziona benissimo da linea di comando, però sul server ritornerà un errore in quanto manca la specificazione del tipo di contenuto della pagina che si va creare. La versione corretta è:

#!/usr/local/bin/perl5 -Tw
print "Content-type: text/html\n\n";
print "Ciao, Mondo\n";

In questo caso il content type viene impostato a text/html, ma ci sono altre possibilità.

Torna all'indice


D. Dove posso trovare documentazione su Internet?

I siti classici sono in inglese:

In italiano c'è il sito di it.comp.lang.perl: http://www.perl-it.org

Puoi trovare utili informazioni anche su: http://www.html.it

Torna all'indice


D. C'è qualche buon libro disponibile?

Ce ne sono moltissimi, anche se non tutti buoni. Se mastichi l'inglese il libro di riferimento è:

Programming Perl, di O'Reilly & Associates (http://www.ora.com)

Ne esiste anche l'edizione italiana, anche se la traduzione lascia parecchio a desiderare.

Testi più avanzati, sempre in inglese e di O'Reilly & Associates, sono:

  • Perl in a Nuthsell (ottima guida di riferimento a funzioni e moduli)
  • Advanced Perl Programming (il nome dice tutto)
  • Perl Cookbook (una ricca collezione di tips&tricks)
  • Mastering Algorithms with Perl (per chi vuole anche capire come funzionano le cose ;-))

Torna all'indice


 



Disclaimer

SourceNet non riconosce nessun tipo di garanzia per il contenuto di tutta la sezione dedicata alle FAQ sul linguaggio Perl pubblicata su questo sito (SourceNet Italia).
Tutto il contenuto della FAQ sul linguaggio Perl è fornito "così come è", senza alcuna garanzia di qualsiasi tipo, sia espressa che implicita, ivi incluse, senza limitazioni, le garanzie implicite di commerciabilità o idoneità per uno scopo particolare ovvero quelle che escludano la violazione di diritti altrui. L'intero rischio derivante dall'uso o dalle prestazioni del contenuto di tutta la sezione della FAQ sul linguaggio Perl rimane a carico dell'utente.


Copyright

Il contenuto della sezione delle FAQ sul linguaggio Perl situata in questo sito è la copia della FAQ sul linguaggio Perl, pubblicata all'indirizzo http://www.perl-it.org/.
Il contenuto dell'intera FAQ sul linguaggio Perl è di proprietà di http://www.perl-it.org/.
Non viene concessa la possibilità di poter copiare il contenuto dell'intera FAQ sul linguaggio Perl di questo sito senza l'autorizzazione di http://www.perl-it.org/.


Note sulla revisione

La versione di questa FAQ è aggiornata al 19/06/2000.

 

Torna ad inizio pagina

Le FAQ sul linguaggio C ] Le FAQ sul linguaggio C++ ] Le FAQ sul linguaggio HTML ] Le FAQ sui Modem ] Le FAQ sul linguaggio Java ] Le FAQ su Outlook Express e sul prefisso R: ] Le FAQ su Outlook Express 5 ] [ Le FAQ sul linguaggio Perl ] Le FAQ sui dischi rigidi ] Le FAQ sui modem Conexant ] Le FAQ sul linguaggio C++ ] Le FAQ su GeForce ] La FAQ su Hamster ]

Ultimo aggiornamento : 17/01/2009.   
Home ] Su ] Novità ] Hardware ] Software ] Windows ] Sicurezza ] Linguaggi ] Cerca ] Contatta ] Guestbook ] Mappa ] Info su... ]

Copyright © 1997-2070, Joseph Parrello. Tutti i diritti sono riservati.

Siete il visitatore n. Contatore Sito
Bpath Contatore
dal 17 gennaio 2009.