-+  Associazione
-+  Documenti
-+  Eventi
-+  Community
-+  Blog
-+  Link

Ottobre 2013

Dom Lun Mar Mer Gio Ven Sab
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    

Cerca






 


« Giugno 2005 | Home | Agosto 2005 »

Perl.it sulla Piazza Rossa!

Ricevo da davidebe (già relatore all'IPW 2005: chi c'era ricorderà, chi non c'era può consultare gli atti) questa foto scattata a Mosca, sulla Piazza Rossa. Sullo sfondo c'è San Basilio.

Visto il periodo, potrebbe essere la prima di una serie di foto analoghe: nel caso, inviatemele.

A proposito, siamo perlisti ma non vandali: dopo lo scatto l'adesivo è stato rimosso.

Inviato da larsen alle 19:15 | Commenti (3)

POD2::IT: la storia continua...

Ora che il pacchetto è su CPAN e che lo avete installato sul vostro PC, potete accedere comodamente alla documentazione tramite perldoc:

   %> perldoc POD2::IT::<podname>

Tuttavia vi sarete accorti che:

1. E' necessario precedere sempre POD2::IT al pod che si vuole consultare. Questa cosa non è gravissima :-)

2. Gli switch -f e -q rispettivamente usati per cercare in perlfunc e nelle varie perlfaq* non funzionano più.
In pratica una grossa percentuale delle mie chiamate a perldoc!
Questa l'ho ritenuta una cosa un pochino più seria :-)

Che fare allora?

Beh, la cosa che normalmente si fa in questi casi: una patch!
Il risultato di quest semplice fatica modifica Pod::Perldoc, (il modulo di backend usato da perldoc a partire dalla distribuzione Perl 5.8.1) in modo tale che si possa continuare ad usare tali switch anche con i pod tradotti.

  %> perldoc -L <code> <podname>
  %> perldoc -L <code> -f <function>
  %> perldoc -L <code> -q <FAQregex>

Nel nostro caso:

  %> perldoc -L IT <podname>
  %> perldoc -L IT -f <function>
  %> perldoc -L IT -q <FAQregex>

In pratica, la patch aggiunge un nuovo switch, -L, che consente di specificare il language code desiderato.
Se il pacchetto POD2::<code> non esiste (non è installato nel sistema) l'effetto dello switch viene ignorato e si fa riferimento alla documentazione di default, cioè quella in lingua inglese.

Si potrebbe inoltre aggiungere un alias del tipo:

  perldoc-it="perldoc -L IT "

per evitare tout court di digitare anche la parte che riguarda lo switch -L:

  %> perldoc-it -f map

La patch, sottoposta all'attenzione della lista perl-documentation@perl.org nonché all'autore stesso di Pod::Perldoc, è in attesa di commenti. Staremo a vedere...

Come applicare la patch? Niente di più semplice. Innanzi tutto va installata una versione di POD2::IT >= 0.06 che tra l'altro contiene anche la patch nella directory patches/.

Va premesso che la patch è stata fatta sulla versione 3.14 di Pod::Perldoc incluso nella distribuzione Perl 5.8.7. Inoltre ricordo che le versioni di perldoc incluse nelle distribuzioni Perl precedenti alla 5.8.1 non fanno uso di Pod::Perldoc per cui andrebbe fatta una patch ad hoc.
Quindi, se non avete Perl 5.8.7 installato sul sistema o quella versione di Pod::Perldoc, il consiglio è quello di aggiornare direttamente questo modulo alla 3.14.

Poi non rimane che applicarla:

 %> patch -p0 `perl -MPod::Perldoc -e 'print $INC{"Pod/Perldoc.pm"}'` \
  < /path/to/Perldoc.pm-3.14-patch

C'est tout.

Inviato da bepi alle 20:29

POD2::IT su CPAN!

A oltre due anni dall'annuncio della proposta del namespace sulle relative liste (perl-documentation, module-authors) finalmente su CPAN è stato pubblicato il pacchetto contenente i pod fino ad ora tradotti.

pod2it, come tutti ormai sanno, è l'ambizioso quanto lodevolissimo progetto di traduzione in italiano dei pod che sono distribuiti insieme al Perl. E chissà, una volta terminati quelli, anche dei pod di altri moduli...

Non che la pubblicazione su CPAN cambi molto le cose, poiché in effetti i pod erano già disponibili sia sul web (pod2it.sf.net) che su cvs da tempo, ma era da oltre un anno che il pacchetto veniva regolarmente e automaticamente buildato (previo update da cvs) occupando solo inutile spazio disco (il mio)...

POD2::IT è stato fatto per permettere la consultazione dei pod tradotti anche a linea di comando, nella maniera quasi tradizionale con cui si consultano normalmente tutti gli altri pod.

Come usarlo?

E' molto semplice. Una volta installato tramite il classico:

   %> perl Makefile.PL && make && make test && make install

è possibile consultare tutti i pod presenti tramite:

   %> perldoc POD2::IT::<nome_pod>

sostituendo a <nome_pod> il pod desiderato.

Inoltre POD2::IT esporta due semplici metodi tramite i quali è possibile conoscere lo stato dell'arte delle traduzioni.

* print_pod

Stampa lo stato dei pod passati come argomento ed evenutalmente la versione della distribuzione Perl da cui è stato preso l'originale per la traduzione.

   %> perl -MPOD2::IT -e print_pod <nome_pod> [<nome_pod> ...]

Ad esempio:

   %> perl -MPOD2::IT -e print_pod perlboot perlbook
    'perlboot' translated from Perl 5.8.1
    'perlbook' doesn't yet exists

"doesn't yet exists"...: pod2it è alla continua ricerca di nuovi collaboratori (sia traduttori che revisori) quindi quale occasione milgiore per partecipare al progetto occupandosi di questo pod?! :-)

* print_pods

Stampa tutti i pod tradotti inclusi nel pacchetto e la versione della distribuzione Perl da cui è stato preso l'originale per la traduzione.

   %> perl -MPOD2::IT -e print_pods
    'perlboot' translated from Perl 5.8.1
    'perlembed' translated from Perl 5.8.6
    'perlfaq1' translated from Perl 5.8.1
    'perlfaq2' translated from Perl 5.8.1
    'perlfaq3' translated from Perl 5.8.1
    'perlfaq4' translated from Perl 5.8.1
    'perlfaq5' translated from Perl 5.8.1
    'perlfaq6' translated from Perl 5.8.1
    'perlfaq7' translated from Perl 5.8.1
    'perlfaq8' translated from Perl 5.8.1
    'perlfaq9' translated from Perl 5.8.1
    'perlfork' translated from Perl 5.8.1
    'perlfunc' translated from Perl 5.8.3
    'perllol' translated from Perl 5.8.6
    'perlrequick' translated from Perl 5.8.1
    'perlstyle' translated from Perl 5.8.1
    'perlthrtut' translated from Perl 5.8.1
    'perluniintro' translated from Perl 5.8.1

Inviato da bepi alle 19:03

Higher-Order Perl - Una quasi recensione

In una risposta ad un vecchio post su questo blog si invocava una recensione di Higher-Order Perl, il libro di Mark-Jason Dominus. Ebbene, la recensione non c'è ancora, ma nella sezione articoli c'è un nuovo pezzo che prende spunto da un problema reale per usare alcune delle tecniche spiegate nel libro: per chi è interessato a HOP e voleva saperne qualcosa di più, potrebbe essere lo stesso una lettura interessante:

HOP: ripensare la programmazione

Inviato da larsen alle 18:09

OpenPEC2

openpec2-logo.jpg Riporto anche qui l'annuncio di Flavio Fanton, che già l'anno scorso aveva presentato OpenPEC durante l'Italian Perl Workshop

Salve,

OpenPEC, progetto Open Source che realizza un sistema di Posta Elettronica Certificata fondato da Ksolutions S.p.A., riapre i lavori
per dar vita a OpenPEC2.

L'obbiettivo è di soddisfare la nuova normativa che sancirà in modo definitivo i requisiti tecnico-funzionali e la validità legale della PEC.

Con l'occasione abbiamo dato il via ad una campagna di reclutamento per incrementare il team di sviluppo. Le figure ricercate spaziano da sviluppatori Perl esperti a persone meno skillate per processi di testing e documentazione.

E' una buona occasione per partecipare attivamente ad un progetto che sta riscuotendo vivo interesse.

Per informazioni scrivete a recruiting at openpec.org .

http://www.openpec.org

Saluti,

Team di sviluppo di OpenPEC

Inviato da larsen alle 13:11 | Commenti (0)

EuroOSCON

logo_sm.gif O'Reilly ha pubblicato i dettagli relativi alla edizione europea di Oscon, che si terrà quest'anno per la prima volta (in Ottobre, ad Amsterdam). Il prezzo, come era sospettabile, non è proprio bassissimo. Se qualcuno ci va e vuole fare da cronista per Perl.it, sono aperte le candidature :)
Qualche nome interessante tra i relatori:

  • Larry Wall
  • Damian Conway
  • Nathat Torkington
  • Abigail
  • Autrijus Tang

Inviato da larsen alle 14:07 | Commenti (0)

qw/ Catalyst PBP /

Un paio di novità interessanti anche oggi:

Inviato da larsen alle 00:56 | Commenti (6)

Oneliner, che passione!

Iniziamo con i commenti su una serie di "pillole", a cura di Perl.it, che appariranno su Computer Programming a partire da questo mese. Si tratta di brevi articoli che spiegano come risolvere problemi specifici, o illustrano qualche particolare tecnica di programmazione. La prima pillola è dedicata agli one liner, ed è di Giuseppe Maxia, conosciuto da molti semplicemente come gmax.

Oneliner, che passione!

L'esperienza di Perl può nascere da una lunga pratica di programmazione, come in qualsiasi linguaggio, e questo è il tipo di esperienza risultante da molte ore seduto alla tastiera a comporre un sito web o un'applicazione di statistica. Ma c'è anche un'altra categoria di utenti che diventano esperti di Perl senza essere necessariamente dei programmatori di professione. Sto parlando degli amministratori di sistema, e fra questi includo anche quegli utenti che si trovano a dover fare un lavoro ripetitivo e, spronati dalla pigrizia scientifica, si ingegnano a trovare il modo di eseguire il compito velocemente e senza soffrire.

Gli adepti di questa branca di programmazione parallela sono tutt'altro che sprovveduti, e poiché conoscono il valore della brevità, si specializzano in quelle parti del linguaggio che abbrevia la quantità di codice scritto. I loro primi script, come quelli di chiunque altro, si estendevano per decine, talora centinaia di righe. Ma gli amministratori sono persone che riescono a trovare le scorciatoie in tutti gli aspetti del mestiere. Ecco che, dopo qualche settimana di script efficaci ma lunghetti, arriva il momento in cui si trovano a inserire istruzioni Perl direttamente dalla riga di comando.

Per esempio, dobbiamo estrarre da un file tutte le righe comprese fra gli indicatori INIZIO e FINE, a prescindere dalla posizione di tali indicatori nel file e dal numero di righe incluse:

Il comando:

perl -0ne 'print $1 if /^INIZIO$(.*)^FINE$/ms' nomefile

risponde alla richiesta, come pure l'alternativa:

perl -ne 'print if /^INIZIO$/ .. /^FINE$/' nomefile

che stampa le righe volute, includendo i due separatori.

Questi due distillati d'ingegno sfruttano alcune opzioni predefinite nel programma "perl":

  • "-e" prende il parametro che segue e lo interpreta come una serie di istruzioni Perl.
  • "-n" racchiude il codice suddetto all'interno di un ciclo "while" che legge il file passato come parametro, o lo standard input in sua assenza.
  • "-0" (Zero, non O) legge il file tutto insieme, invece che riga per riga. Quindi i due esempi suddetti vengono interpretati da Perl in questo modo:
BEGIN { $/ = "\000"; $\ = undef; }
LINE: while (defined($_ = <ARGV>)) {
    if (/^INIZIO$(.*)^FINE$/ms) 
    {
        print $1
    }
}
LINE: while (defined($_ = <ARGV>)) {
    if (/^INIZIO$/ .. /^FINE$/) 
    {
        print $_
    }
}

Il resto è semplice applicazione di alcuni altri principi basati su espressioni regolari. "$1" è il risultato della ricerca effettuata, contenente tutti i caratteri fra le parentesi tonde. Nel comando alternativo, si usa l'operatore ".." per isolare un intervallo compreso fra due separatori.

Usando questi principi, è possibile costruire i propri one-liner (come familiarmente si chiamano questi gingilli) per risolvere una vasta gamma di problemi.

Inviato da arthas alle 00:17 | Commenti (2)

Catalyst, si gira!

Per chi non si è ancora deciso a provarlo, potrebbe essere l'ispirazione: un video (con non uno, bensì due mirror) che mostra passo passo (ma un commento audio non avrebbe guastato, se posso fare una critica) come realizzare un piccolo esempio di applicazione con Catalyst. Già che ci sono ricordo che per documentare Catalyst esiste un apposito wiki.

Inviato da larsen alle 19:56 | Commenti (1)

The Perl Review intervista Ian Langworth

ptdn.gif

brian d foy intervista Ian Langworth, autore insieme a chromatic di Perl Testing: A Developer's Notebook.

TPR: Who should buy PTDN? What's your target audience?
Ian: Everyone with a credit card! I'm kidding, of course (...) Anyone who has written a Perl test file should find this book entertaining and blindingly useful. In fact, one of the reviewers just instant messaged me about how he's already using his review copy to test the database infrastructure at his workplace. He's actually just beginning to learn Perl and is even using the book as a style guide.

TPR: What's the main thing you want people to learn from PTDN?
Ian: To mangle a classic Perl aphorism, I'd say the book shows that testing simple things is easy and testing seemingly-impossible things is doable. I hope that readers will see techniques for things they've never considered testing. I can imagine people really digging the material and saying, "Gee, it never occurred to me that I could temporarily override Perl's built-in keywords."

Inviato da larsen alle 10:38 | Commenti (0)

La BBC usa Perl

icon_bbc_mmi.gif Una curiosità simpatica: la BBC, che in questi giorni abbiam sentito nominare più spesso per tristi motivi, ha pubblicato una pagina dedicata ai progetti opensource sviluppati internamente: tra essi, anche svariati moduli Perl, disponibili su CPAN.

Inviato da larsen alle 10:45 | Commenti (0)

La rilevanza del Perl

Qualche giorno fa su oreillynet è comparso un articolo dal titolo un po' sinistro, di primo acchito: Is Perl still relevant?. Le conclusioni di Tim O'Reilly sono positive, ma ci sono degli spunti che mi piacerebbe discutere:

There was a similar slowdown in Perl in the mid-90s, and it saw a huge resurgence as "the duct tape of the internet."

E ancora:

I've always believed that one of the most important things about scripting languages is that they (potentially) make a new class of applications more accessible to people who didn't previously think of themselves as programmers.

Volendo riassumere e semplificare: Perl è il nastro adesivo che tiene insieme Internet, ed essendo un linguaggio di scripting viene usato parecchio da persone che non coincidono strettamente con la categoria professionale del programmatore.

Un altro tassello del ragionamento è la difficoltà che si incontra, almeno in Italia, nello stanare e coinvolgere i perlisti nelle attività della community: all'Italian Perl Workshop poteva esserci molta più gente, ad esempio; e non vedo nella nostra mailing list, su it.comp.lang.perl, o qui nel blog il traffico che mi piacerebbe. Il traffico che ci si potrebbe legittimamente aspettare sapendo quante persone usano Perl per il loro lavoro.

Il pensiero che accarezzo da un po' di tempo a questa parte è che Perl è molto diffuso e radicato come strumento ma non viene percepito consapevolmente come tecnologia e aggiungerei anche come cultura: in altre parole, proponendoci come "il punto di riferimento del Perl in Italia" è un po' come se ci proponessimo come "il punto di riferimento della bash in Italia". Ho reso l'idea?

Inviato da larsen alle 19:28 | Commenti (0)

IPW2005 - Atti

Abbiamo cominciato a pubblicare gli atti dell'Italian Perl Workshop 2005.

Segnalo inoltre quelli di YAPC::NA 2005, che si è concluso da poco a Toronto. Anche se le slide da sole non sostituiscono uno speaker, possono comunque fornire qualche spunto interessante: YAPC::NA 2005

Inviato da larsen alle 14:36 | Commenti (0)

Annotated CPAN

Un nuovo servizio contribuisce a rendere CPAN migliore: su AnnoCPAN è infatti possibile aggiungere annotazioni alla documentazione dei moduli. A proposito di AnnoCPAN c'è anche un articolo su Perl.com: Annotating CPAN.

Update: su use.perl.org si discute di AnnoCPAN.

Inviato da larsen alle 10:10 | Commenti (0)

D:
Progetti e documenti in rilievo
Corso di Perl Progetto pod2it
D:
La ML di Perl.it
mongers@perl.it è la lista ufficiale di Perl Mongers Italia per porre quesiti di tipo tecnico, per rimanere aggiornato su meeting, incontri, manifestazioni e novità su Perl.it.
Iscriviti!
D:
Annunci Google