Fråga : Perl - kretsa genom att använda variabler, om finns

I en skriva jag skapade, jag har en dela upp var jag har ett långt att lista av sparar att I-kontrollen från våra cvs, då en kontroll som ser vad sparar kontrolleras ut som ska skapar därefter ett arkiv för varje uppsättning av sparar found.

The tar prov skrivar nedanföra arbeten och ska skapar det huvudsakliga arkivet (arkiv) därefter ett underarkiv av (hjälp) och 4 underarkiv i (hjälp), liksom: >ls för

# - l 2 annan annan 512 Jul 23 14:15 för arkiv/help/
total 8
drwxr-xr-x ändrar-process
drwxr-xr-x 2 annan annan 512 Jul 23 14:15 företags-identity
drwxr-xr-x 2 annat annat 512 Jul 23 14:15exempel-clients
drwxr-xr-x 2 annan annan 512 Jul 23 14:15images


This som alla arbeten ok jag har långt den, emellertid i mitt skriva mig har ett mycket långt att lista av sparar från olika underarkiv, vad jag önskar att göra ska ta bort alla av, om meddelanden jag har för att skapa ett arkiv, om det fanns, och variabeln som den är kontrollerad exists.

How kan mig, satte variablerna jag har att jag gör på kontrollen att se, om de finns i en foreach, kretsa eller en stund kretsa kanske och skapa därefter arkiven, om behövt så jag inte måste att sätta i hundra, eller så om statements.

Thanks,
> för
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:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
" codeBody " " ># för class= " för
" klar "

Svar : Perl - kretsa genom att använda variabler, om finns

Jag skulle gör det mer något liknande detta:
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:
nr.! /usr/bin/perl

använd strikt;
använd varningar;
bruk sparar:: Kopiera;
bruk sparar:: Bana;
bruk sparar:: Basename;

mitt $web_dir = ”arkiv”;
om (! - D ”directory.slb.com”) {
   mkdir (”$web_dir”, 0777);
}

nr. spara listar för att kontrolleras ut från CVS
min @CVSfiles = qw (
 utveckling/rengöringsduk-sparar/hjälp/file.xx
 utveckling/rengöringsduk-sparar/hjälp/file2.xx
 utveckling/rengöringsduk-sparar/hjälp/avbildar/file.xx
 utveckling/rengöringsduk-sparar/hjälp/avbildar/file2.xx
 utveckling/rengöringsduk-sparar/hjälp/ändra-bearbetar/file.xx
 utveckling/rengöringsduk-sparar/hjälp/ändra-bearbetar/file2.xx
 utveckling/rengöringsduk-sparar/hjälp/företags-identiteten/file.xx
 utveckling/rengöringsduk-sparar/hjälp/företags-identiteten/file2.xx
 utveckling/rengöringsduk-sparar/hjälp/exempel-beställare/file.xx
 utveckling/rengöringsduk-sparar/hjälp/exempel-beställare/file2.xx
);

foreach min $file (@CVSfiles) {
    mitt $dir = dirname ($file);
    mkpath ($dir) om! - D $dir;
}
Andra lösningar  
 
programming4us programming4us