10 Einträge, 1 Seite |
1
2
3
4
5
6
7
8
9
10
11
12
use File::Find;
$i = 0;
find(\&archive, $directory);
sub archive
{
if($ext)
{
// HIER //
$i++;
}
}
1
2
3
4
5
6
7
8
9
10
11
use File::Find;
my @array = ();
find(\&archive,$directory);
sub archive {
# Wenn Dateiname auf eine bestimmte Extension endet...
if (/(?:\.php?|\.htm?|\.cgi|\.pl)$/) {
push @array,$File::Find::name; #Hänge die Datei mit vollständigen Namen an das Array
}# if
}# sub
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use strict;
my @array = ();
my $ext = '*.*';
my @verz = ('/verzeichnis');
for my $file (@verz) {
next unless -d $file;
chdir $file or warn "Could not change into directory $file: $!";
for (glob($ext)) {
push @array,$file . '/' . $_;
}
opendir DIR,$file or warn "Konnte Verzeichnis $file nicht öffnen: $!";
push @verz,map { $file . '/' . $_ } grep !/^\.\.?$/, readdir DIR;
closedir DIR;
}
print join '|',@array;
1
2
3
4
5
6
7
8
use strict;
my $test = 'hallo';
print $test;
{
my $test = 'test';
print $test;
}
print $test;
1
2
3
4
5
6
7
# Globaler lexikalischer Geltungsbereich
{
# ein anderer lexikalischer Geltungsbereich
{
# noch ein anderer lexikalischer Geltungsbereich
}
}
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
#!/usr/bin/perl
use strict;
use warnings;
use CGI qw/:all/;
use CGI::Carp qw/fatalsToBrowser warningsToBrowser/;
use Archive::Tar;
use FindBin;
# Verzeichnis wo sich die Archive befinden
my $dir = $FindBin::Bin . '/../archives/';
if (param('file')) {print auslesen(param('file'));}
else {print anzeigen();}
sub anzeigen {
# Verzeichnis auslesen und in Hash für CGI speichern
opendir DIR,$dir or die "Konnte Verzeichnis $dir nicht öffnen: $!";
my @files = grep !/^\.\.?$/ && /(?:\.tgz|\.tar|\.tar.gz)$/i,readdir DIR;
closedir DIR;
# HTTP-Header und HTML-Code ausgeben
return header(),
start_html(-title=>'Archivanzeige'),
h2('Archivanzeige'),
start_form(-action=>url(-relative=>1),-method=>'GET'),
scrolling_list(-name=>'file',
-size=>1,
-values=>[ sort @files ],
-default=>param('file') || ''
),
submit(-value=>'Dateien anzeigen'),
end_form,
end_html;
} #sub
sub auslesen {
# Parameter holen
my $file = shift || '';
# Anzeigeroutine wenn Parameter leer
return anzeigen() unless $file;
my $tar = Archive::Tar->new();
$tar->read($dir . $file,1) or die "Konnte Archiv $dir$file nicht lesen:$!";
#HTTP-Header und HTML-Code ausgeben
return header(),
start_html(-title=>'Archivanzeige - Dateilisting'),
h2("Folgende Dateien sind im Archiv $file enthalten:"),
join br(),sort $tar->list_files(),
a({-href=>url(-relative=>1)},"Zurück"),
end_html;
}# sub
exit;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
use Archive::Tar;
$tar = Archive::Tar->new();
use File::Find;
$i = 0;
find(\&archive, $backupdir);
sub archive
{
if($ext)
{
$tar->add_files($_);
$i++;
}
}
$tar->write('/pfad/zum/archive.tar.gz') or warn "Konnte Archiv nicht schreiben: $!";
10 Einträge, 1 Seite |