Question : Devoir réitérer par tous les dossiers dans un dir dans le Perl et les copier ailleurs

Bonjour, lecture du

I AM par une feuille d'exceler, choisissant dehors un endroit d'unix, allant là et alors essayant de copier tous les dossiers de .txt là dans d'un autre niveau up.

I AM de l'annuaire un obtenant cette erreur. Pls help.

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

Use de valeur uninitialized dans la concaténation (.) ou corde à Copy_Baseline.pl au rapport line.
/ms/user/s/sayantag/Baseline/
de goutte-------------------------------------------


class= > " clair " de
> de " codeSnippet " de class= de
class= " lineNumbers " de
class= de
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 :
># " de l'id= " codeSnippet828348 de
new () ;
mon $new_workbook = $new_parser->parse (CFP. « Source.xls ») ;
mon $new_worksheet ;

mon $curr_etl = « wf_OTC_Taxlots_Open » ;


pour $new_worksheet ($new_workbook->worksheets ()) {
après à moins qu'eq {nommé} « WF » de $new_worksheet-> ;
#print « xyb » ;
mon ($row_min, $row_max) = $new_worksheet->row_range () ;
mon ($col_min, $col_max) = $new_worksheet->col_range () ;

 pour mon $row ($row_min. $row_max) {for## de ##First
 pour mon $col ($col_min. $col_max) {for## de ##Second
   mon $cell = $new_worksheet->get_cell ($row, $col) ;
     si ($col==0 && $row ! && =0 ($new_worksheet->get_cell ($row, $col) - eq « $curr_etl » de >value))  {
       mon $wf_loc = $new_worksheet->get_cell ($row, $col+2) - >value ;

       le chdir ($wf_loc) ou meurent « $ !  » ;
       copie « $wf_loc » ;

       mes @delta_files = goutte « $ARGV [0] *.txt » ;

       foreach mon $txt_file (@delta_files) {
         `du cp $txt_file ../Delta_ETL/ de `;
           }
         }
       }
     }
   }
class= de

Réponse : Devoir réitérer par tous les dossiers dans un dir dans le Perl et les copier ailleurs

Changé pour assortir vos mises à jour vous avez signalé tandis que j'écrivais cela…
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 est superflu avec des avertissements d'utilisation
employer les avertissements ;
bilan d'utilisation : : WriteExcel : : Grand ;
bilan d'utilisation : : ParseExcel ;
employer strict ;
utilisation E/S : : Scalaire ;
données d'utilisation : : Dumper ;
dossier d'utilisation : : Copier le qw (cp) ;

mon CFP = « /ms/user/s/sayantag/ » ;
mon $new_parser   = bilan : : ParseExcel->new () ;
mon $new_workbook = $new_parser->parse (CFP. « Source.xls ») ;

mon $curr_etl = « wf_OTC_Taxlots_Open » ;
mon $wf_name = substr $curr_etl, 3 ;
imprimer « le nom de déroulement des opérations est $wf_name \ n » ;

pour  mon $new_worksheet ($new_workbook->worksheets ()) {
    après à moins qu'eq {nommé} « WF » de $new_worksheet-> ;
    #print « xyb » ;
    mon ($row_min, $row_max) = $new_worksheet->row_range () ;
    mon ($col_min, $col_max) = $new_worksheet->col_range () ;

    pour mon $row ($row_min. $row_max) {for## de ##First
        mon $cell = $new_worksheet->get_cell ($row, 0) ;
        si (eq défini $curr_etl de $cell et de $cell->value)  {
            mon >value de $wf_loc = de $new_worksheet->get_cell ($row, 2) - ;

            copie « $wf_loc » ;

            opendir DIR, $wf_loc
                ou mourir « ne pourrait pas ouvrir $wf_loc : $ !  » ;
            mes @delta_files = grep m {_Baseline de ^delta_$ {wf_name} \ .txt$}, readdir DIR ;
            closedir DIR ;

            foreach mon $txt_file (@delta_files) {
                cp « $wf_loc/$txt_file » « $wf_loc/. /Delta_ETL/$txt_file »
                    ou mourir « ne pourrait pas le cp $wf_loc/$txt_file : $ !  » ;
            }
        }
    }
}
Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us