Cuestión : Necesitar iterar a través de todos los archivos en un dir en el Perl y copiarlos a otra parte

Hola, lectura del

I a través de una hoja del sobresalir, seleccionando hacia fuera una localización de unix, yendo allí y después intentando copiar todos los archivos de .txt allí en de otro nivel up.

I del directorio uno que consigue este error. Pls help.

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

Use del valor uninitialized en el encadenamiento (.) o secuencia en Copy_Baseline.pl en la declaración line.
/ms/user/s/sayantag/Baseline/
del glob-------------------------------------------


class= > " claro " 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 ();
mi $new_workbook = $new_parser->parse (CFP. “Source.xls”);
mi $new_worksheet;

mi $curr_etl = “wf_OTC_Taxlots_Open”;


para $new_worksheet ($new_workbook->worksheets ()) {
después a menos que eq {conocido} “WF” de $new_worksheet->;
#print “xyb”;
mi ($row_min, $row_max) = $new_worksheet->row_range ();
mi ($col_min, $col_max) = $new_worksheet->col_range ();

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

       ¡el chdir ($wf_loc) o muere “$! ”;
       impresión “$wf_loc”;

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

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

Respuesta : Necesitar iterar a través de todos los archivos en un dir en el Perl y copiarlos a otra parte

Cambiado para emparejar sus actualizaciones usted fijó mientras que escribía eso…
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 es redundante con advertencias del uso
utilizar las advertencias;
hoja de balance del uso:: WriteExcel:: Grande;
hoja de balance del uso:: ParseExcel;
utilizar terminante;
uso IO:: Escalar;
datos del uso:: Descargador;
archivo del uso:: Copiar el qw (cp);

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

mi $curr_etl = “wf_OTC_Taxlots_Open”;
mi $wf_name = substr $curr_etl, 3;
imprimir “el nombre del flujo de trabajo es $wf_name \ n”;

para  mi $new_worksheet ($new_workbook->worksheets ()) {
    después a menos que eq {conocido} “WF” de $new_worksheet->;
    #print “xyb”;
    mi ($row_min, $row_max) = $new_worksheet->row_range ();
    mi ($col_min, $col_max) = $new_worksheet->col_range ();

    para mi $row ($row_min. $row_max) {for## del ##First
        mi $cell = $new_worksheet->get_cell ($row, 0);
        si (eq definido $curr_etl de $cell y de $cell->value)  {
            mi >value de $wf_loc = de $new_worksheet->get_cell ($row, 2) -;

            impresión “$wf_loc”;

            opendir DIR, $wf_loc
                o morir “no podría abrir $wf_loc: ¡$! ”;
            mis @delta_files = grep m {_Baseline \ .txt$ de ^delta_$ {wf_name}}, readdir DIR;
            closedir DIR;

            foreach mi $txt_file (@delta_files) {
                cp “$wf_loc/$txt_file” “$wf_loc/. /Delta_ETL/$txt_file”
                    o morir “no podría el cp $wf_loc/$txt_file: ¡$! ”;
            }
        }
    }
}
Otras soluciones  
 
programming4us programming4us