Questione : Dovere ripetere attraverso tutte le lime in un dir in Perl e copiarlo altrove

Ciao, lettura del

I attraverso uno strato di supremazia, selezionando fuori una posizione di UNIX, andando là ed allora provando a copiare tutte le lime di .txt là in un altro livello up.

I dell'indice uno che ottiene questo errore. Pls help.

-------------------------------------------

Use di valore uninitialized nella concatenazione (.) o stringa a Copy_Baseline.pl alla dichiarazione line.
/ms/user/s/sayantag/Baseline/
del glob-------------------------------------------


class= > " libero " del
> " del codeSnippet " del class= del
class= " lineNumbers " del
class= del
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:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
># notpretty " del class= " del id= " codeSnippet828348 del
new ();
mio $new_workbook = $new_parser->parse (CFP. “Source.xls„);
il mio $new_worksheet;

mio $curr_etl = “wf_OTC_Taxlots_Open„;


per $new_worksheet ($new_workbook->worksheets ()) {
dopo a meno che eq {nome} “WF„ di $new_worksheet->;
#print “xyb„;
mio ($row_min, $row_max) = $new_worksheet->row_range ();
mio ($col_min, $col_max) = $new_worksheet->col_range ();

 per il mio $row ($row_min. $row_max) {for## del ##First
 per il mio $col ($col_min. $col_max) {for## del ##Second
   mio $cell = $new_worksheet->get_cell ($row, $col);
     se ($col==0 && $row! =0 && ($new_worksheet->get_cell ($row, $col) - eq “$curr_etl„ del >value))  {
       mio $wf_loc = $new_worksheet->get_cell ($row, $col+2) - >value;

       il chdir ($wf_loc) o muore “$! „;
       stampa “$wf_loc„;

       i miei @delta_files = glob “$ARGV [0] *.txt„;

       foreach il mio $txt_file (@delta_files) {
         `di cp $txt_file ../Delta_ETL/ del `;
           }
         }
       }
     }
   }
class= del

Risposta : Dovere ripetere attraverso tutte le lime in un dir in Perl e copiarlo altrove

Variabile per abbinare i vostri aggiornamenti avete inviato mentre stavo scrivendo quello…
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:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
#! /usr/bin/perl5.10

# - w è ridondante con gli avvertimenti di uso
usare gli avvertimenti;
foglio elettronico di uso:: WriteExcel:: Grande;
foglio elettronico di uso:: ParseExcel;
usare rigoroso;
uso IO:: Scalare;
dati di uso:: Scaricatore;
lima di uso:: Copiare il qw (cp);

mio CFP = “/ms/user/s/sayantag/„;
mio $new_parser   = foglio elettronico:: ParseExcel->new ();
mio $new_workbook = $new_parser->parse (CFP. “Source.xls„);

mio $curr_etl = “wf_OTC_Taxlots_Open„;
mio $wf_name = substr $curr_etl, 3;
stampare “il nome di flusso di lavoro è $wf_name \ n„;

per  il mio $new_worksheet ($new_workbook->worksheets ()) {
    dopo a meno che eq {nome} “WF„ di $new_worksheet->;
    #print “xyb„;
    mio ($row_min, $row_max) = $new_worksheet->row_range ();
    mio ($col_min, $col_max) = $new_worksheet->col_range ();

    per il mio $row ($row_min. $row_max) {for## del ##First
        mio $cell = $new_worksheet->get_cell ($row, 0);
        se (eq definito $curr_etl di $cell->value e di $cell)  {
            mio >value di $new_worksheet->get_cell = di $wf_loc ($row, 2) -;

            stampa “$wf_loc„;

            opendir DIR, $wf_loc
                o morire “non potrebbe aprire $wf_loc: $! „;
            i miei @delta_files = grep m. {_Baseline \ .txt$ di ^delta_$ {wf_name}}, readdir DIR;
            closedir DIR;

            foreach il mio $txt_file (@delta_files) {
                cp “$wf_loc/$txt_file„ “$wf_loc/. /Delta_ETL/$txt_file„
                    o morire “non potrebbe cp $wf_loc/$txt_file: $! „;
            }
        }
    }
}
Altre soluzioni  
 
programming4us programming4us