Pergunta : Precisar de iterar através de todas as limas em um dir no Perl e de copiá-las em outra parte

Olá!, leitura do

I am através de uma folha primar, selecionando para fora uma posição de unix, indo lá e então tentando copiar lá todas as limas de .txt em um outro nível up.

I am do diretório um que começ este erro. Pls help.

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

Use de valor uninitialized na concatenação (.) ou corda em Copy_Baseline.pl na indicação line.
/ms/user/s/sayantag/Baseline/
do glob-------------------------------------------


class= > " desobstruído " do
> do " codeSnippet " do class= do
class= " lineNumbers " do
class= do
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 " do class= " do id= " codeSnippet828348 do
new ();
meu $new_workbook = $new_parser->parse (CFP. “Source.xls”);
meu $new_worksheet;

meu $curr_etl = “wf_OTC_Taxlots_Open”;


para $new_worksheet ($new_workbook->worksheets ()) {
em seguida a menos que eq {conhecido} “WF” de $new_worksheet->;
#print “xyb”;
meu ($row_min, $row_max) = $new_worksheet->row_range ();
meu ($col_min, $col_max) = $new_worksheet->col_range ();

 para meu $row ($row_min. $row_max) {for## do ##First
 para meu $col ($col_min. $col_max) {for## do ##Second
   meu $cell = $new_worksheet->get_cell ($row, $col);
     se ($col==0 && $row! && =0 ($new_worksheet->get_cell ($row, $col) - eq “$curr_etl” do >value))  {
       meu $wf_loc = $new_worksheet->get_cell ($row, $col+2) - >value;

       o chdir ($wf_loc) ou morre “$! ”;
       cópia “$wf_loc”;

       meus @delta_files = glob “$ARGV [0] *.txt”;

       foreach meu $txt_file (@delta_files) {
         `do cp $txt_file ../Delta_ETL/ do `;
           }
         }
       }
     }
   }
class= do

Resposta : Precisar de iterar através de todas as limas em um dir no Perl e de copiá-las em outra parte

Mudado para combinar suas atualizações você afixou quando eu escrevia aquele…
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 é redundante com avisos do uso
usar avisos;
Spreadsheet do uso:: WriteExcel:: Grande;
Spreadsheet do uso:: ParseExcel;
usar estrito;
uso IO:: Escalar;
dados do uso:: Descarregador;
lima do uso:: Copiar o qw (cp);

meu CFP = “/ms/user/s/sayantag/”;
meu $new_parser   = Spreadsheet:: ParseExcel->new ();
meu $new_workbook = $new_parser->parse (CFP. “Source.xls”);

meu $curr_etl = “wf_OTC_Taxlots_Open”;
meu $wf_name = substr $curr_etl, 3;
imprimir “o nome dos trabalhos é $wf_name \ n”;

para  meu $new_worksheet ($new_workbook->worksheets ()) {
    em seguida a menos que eq {conhecido} “WF” de $new_worksheet->;
    #print “xyb”;
    meu ($row_min, $row_max) = $new_worksheet->row_range ();
    meu ($col_min, $col_max) = $new_worksheet->col_range ();

    para meu $row ($row_min. $row_max) {for## do ##First
        meu $cell = $new_worksheet->get_cell ($row, 0);
        se (eq definido $curr_etl de $cell e de $cell->value)  {
            meu >value de $wf_loc = de $new_worksheet->get_cell ($row, 2) -;

            cópia “$wf_loc”;

            opendir DIR, $wf_loc
                ou morrer “não poderia abrir $wf_loc: $! ”;
            meus @delta_files = grep m {_Baseline de ^delta_$ {wf_name} \ .txt$}, readdir DIR;
            closedir DIR;

            foreach meu $txt_file (@delta_files) {
                cp “$wf_loc/$txt_file” “$wf_loc/. /Delta_ETL/$txt_file”
                    ou morrer “não poderia o cp $wf_loc/$txt_file: $! ”;
            }
        }
    }
}
Outras soluções  
 
programming4us programming4us