Thread CSV-Datei ohne Modul schreiben (15 answers)
Opened by Stuermchen at 2011-07-12 09:07

FIFO
 2011-07-12 13:15
#150319 #150319
User since
2005-06-01
469 Artikel
BenutzerIn

user image
Hi,
wenn der objektorientierte Ansatz Deinen Bedarf nich so trifft: Es geht natürlich auch ohne Klassen.
Eine Datenstruktur, die Du wahrscheinlich verwenden kannst, ist ein Hash of Hashes (HoH), dann kannst Du mit Namen statt Indizes arbeiten:
Code (perl): (dl )
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
my @dirnames = qw(dir1 dir2 ...);

my %permissions = (
    user1 => {
        dir1 => 0,
        dir2 => 1,
        ...
    },
    user2 => {
        dir1 => 1,
        ...
    },
    ...
);

# Ein Element setzen:
$permissions{user1}{dir1} = 1; # usw.

# Alles auslesen und in CSV speichern:
open(my $csv, '>', 'CSV-FILE.csv') or die $!;
select $csv;
print ";$_" for @dirnames;
print "\n";

for my $user (keys %permissions) {
    print "$user;";
    for my $dir (@dirnames) {        
        print $permissions{$user}{$dir} ? "1;" : "0;";
    }
    print "\n";
}
select STDOUT;
close $csv;


... als Denkanstoß - ungetestet. Wie Taulmarill schon deutlich gemacht hat, ist bei Deiner Datenmenge kein Speicherplatzproblem zu erwarten :)

Gruß FIFO
Everyone knows that debugging is twice as hard as writing a program in the first place. So if you're as clever as you can be when you write it, how will you ever debug it? -- Brian Kernighan: "The Elements of Programming Style"

View full thread CSV-Datei ohne Modul schreiben