Oh mist, ich hab noch viel Arbeit vor mir, wenn ich mir das so anschau...
Ich hab das jetzt so gemacht:
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
#!/usr/bin/perl
use strict;
use warnings;
use Cwd;
my $dir = getcwd;
opendir(DIR, "$dir");
my @array = readdir(DIR);
closedir(DIR);
my %hash;
my %for;
my @size;
my $data;
format STDOUT_TOP =
Dateiname Dateigroesse
====================================
.
foreach(@array)
{
my $i = 0;
$hash{$_} = (-s $_);
my $file = (-s $_);
$for{$file} = $_;
$i++;
push @size, $file;
}
my @sort = sort { $a <=> $b } @size;
foreach(@sort)
{
if (-f, "$for{$_}" && !(-d "$for{$_}"))
{
my $data = $_;
if ($_ < 1024)
{
$_ .= " bytes";
} elsif ( $_ > 1024 && $_ < 1048576)
{
$_ = sprintf("%.2f", $_ / 1024);
$_ .= " kb";
} elsif ( $_ > 1048576 && $_ < 1099511627776)
{
$_ = sprintf("%.2f", $_ / 1048576);
$_ .= " mb";
} else
{
$_ = sprintf("%.2f", $_ / 1099511627776);
$_ .= " gb";
}
format STDOUT =
@<<<<<<<<<<<<<<<<< @>>>>>>>>>>>>>>
$for{$data}, $_
.
write;
}
}
Bitte sagt mir, das das auch gut ist :p
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="5065726c2d436f6d6d756e697479"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'
http://perl-tutor.de