In Perl, è possibile ottenere un elenco di file corrispondenti a un modello:Come posso usare il valore di una variabile come modello glob in Perl?
my @list = <*.txt>;
print "@list";
Ora, mi piacerebbe passare il modello come una variabile (perché è passato in una funzione). Ma questo non funziona:
sub ProcessFiles {
my ($pattern) = @_;
my @list = <$pattern>;
print "@list";
}
readline() on unopened filehandle at ...
Qualche suggerimento?
Mai, mai, mai, mai fare questo . L'operatore 'glob' è la risposta corretta. – friedo
Hai ragione, glob è una risposta molto migliore. Grazie per la correzione. Perché mai, mai, mai, mai farlo? –
Robert, dovresti evitare la stringa 'eval' quando possibile; chissà quali dati nefasti potrebbero finire in '$ modello', specialmente se derivano dall'input dell'utente. Anche se non è dannoso, la roba strana che trova la sua via in un 'eval' può essere la causa di molti bug dolorosi. – friedo