Ho un rivestimento perl che dovrebbe esportare ogni singola riga in un file xml nel proprio file separato con il nome del file originale e quindi il numero di riga all'interno del file da cui proviene.
Ad esempio, se il file xml è chiamato "foo.xml" e contiene 100 righe, desidero avere un centinaio di file chiamati "foo_1.xml", "foo_2.xml", "foo_3. xml ", ecc.
Ho pensato che il nome del file che ho passato a quello di linea sarebbe disponibile tramite ARGV, ma non lo è. Sto diventando un "valore non inizializzato in $ ARGV [0]" quando faccio funzionare questo:
perl -nwe 'open (my $FH, ">", "$ARGV[0]_$.\.xml"); print $FH $_;close $FH;' foo.xml
cosa sto trascurando?
-1 confermato di non lavorare: 'perl -nwe 'print $ ARGV' foo.xml ' – sehe
@sehe: Funziona per me se 'foo.xml' esiste e non è vuoto. – yibe
Funziona per me. Ho una directory piena di file con linee individuali! Sarò più attento in futuro ... –