Newsgroup: it.comp.lang.perl
Titolo: STDIN e regex

Vorrei scrivere un programma che gestisca l'input così
$ 
miopgm.pl
 *.jpg
e poi crei un array dove ogni elemento è un distinto file jpeg.
Non riesco a trovare un esempio che mostri come risolvere la regex.
Suggerimenti?
Grazie in anticipo.
-- 
                     Dona i tuoi cicli di clock alla ricerca!
 
http://boinc.berkeley.edu/
                          --------------------
  Tu, condurre un programma televisivo?  Ma se l'unico modo che hai di
  condurre e' infilare le dita nella 220...
  		-- Vito, a Loretta Goggi

Non riesco a trovare un esempio che mostri come risolvere la regex.
Puoi usare File::Glob o File::Find in una sua qualche incarnazione (io mi
trovo bene con File:.Find::Rule).
Ciao.

 Non riesco a trovare un esempio che mostri come risolvere la regex.
Quell'array esiste gia', si chiama @ARGV.
$ perl -e 'print "$_\n" for(@ARGV)' *.jpg
img01.jpg
cover.jpg
leds.jpg
matrix.jpg
something.jpg

 Quell'array esiste gia', si chiama @ARGV.
Ne ero quasi certo, solo non sapevo cosa cercare.
Grazie mille
-- 
                     Dona i tuoi cicli di clock alla ricerca!
 
http://boinc.berkeley.edu/
                          --------------------
     Agli esami gli sciocchi fanno spesso domande a cui i saggi non
     sanno rispondere.
     		-- Oscar Wilde

 something.jpg
Non avevo fatto caso al prompt della shell, che suggerisce bash o simile 
(vi sognate di ottenere l'espansione in una console di Windows; a perl 
viene passato come unico argomento "*.jpg"), per questo ho frainteso la 
domanda.
Ciao.

 writes:

Puoi rimediare adesso :-)
mi serve anche sapere la cardinalità degli argomenti, uso pertanto
$#ARGV, e rimango basito, la guida infatti riporta:
--8<---------------cut here---------------start------------->8---
$#ARGV is generally the number of arguments minus one, because $ARGV[0]
is the first argument, not the program's command name itself. See $0 for
the command name.
--8<---------------cut here---------------end--------------->8---
"Generalmente"? Che vuol dire "generalmente"? Da cosa dipende poi? 
-- 
                     Dona i tuoi cicli di clock alla ricerca!
 
http://boinc.berkeley.edu/
                          --------------------
                  E' solo un gioco finche' non perdi.

"Generalmente"? Che vuol dire "generalmente"? Da cosa dipende poi? 
Francamente, grazie forse al mio inglese da autodidatta, � una sfumatura
che avevo finora del tutto ignorato.
Immagino che possa essere un'affermazione generica sul significato di
$#array, che � propriamente "l'indice dell'ultimo elemento di @array".
E' infatti teoricamente possibile modificare la base degli array, cio�
l'indice del primo elemento, che di default � 0, assegnando un valore
diverso alla variabile $[.
L'operazione �, nei fatti, deprecata, e credo che quasi nessuno ne abbia
mai sentito la necessit�, ma il fatto che sia comunque possibile obbliga a
dire che $#array � "generalmente" il numero di elementi di @array meno uno
(o "sempre"  $#array = scalar(@array) +$[ - 1).
Questa almeno � l'unica interpretazione che mi � possibile dare.
Ciao.

 "Generalmente"? Che vuol dire "generalmente"? Da cosa dipende poi?
Riguardo il significato di quell'avverbio, concordo pienamente con la 
spiegazione fornita da Giovanni.
Posso solo aggiungere che se vuoi la cardinalità di @ARGV, è più 
semplice e corretto utilizzare banalmente:
scalar @ARGV
(anche questo stava già nel messaggio di Giovanni).
Ma in realtà la cosa che mi premeva di più era, quando devi gestire gli 
argomenti della command line, raccomandarti l'uso di Getopt::Long 
anziché andarti a leggere @ARGV a manella (anche nei casi più semplici):
http://search.cpan.org/dist/Getopt-Long/
(peraltro Getopt::Long è un modulo CORE).

 (peraltro Getopt::Long è un modulo CORE).
Ora approfondisco. Grazie
-- 
                     Dona i tuoi cicli di clock alla ricerca!
 
http://boinc.berkeley.edu/
                          --------------------
           This signature was automatically generated with
           Signify v1.14.  For this and other cool products,
           check out 
http://www.debian.org/