Thread Gruppenverarbeitung (8 answers)
Opened by Gast at 2003-11-11 17:05

Crian
 2003-11-11 17:55
#71175 #71175
User since
2003-08-04
5872 Artikel
ModeratorIn
[Homepage]
user image
Stimmt, damit vereinfacht sich das Programm zu

Code: (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
34
35
36
37
38
39
40
41
42
43
#!/usr/bin/perl
use strict;
use warnings;
use diagnostics;

use Data::Dumper;
$Data::Dumper::Sortkeys = 1;

my @array = qw(
              Tabelle1.Spalte1
              Tabelle1.Spalte2
              Tabelle2.Spalte3
              Tabelle3.Spalte3
              Tabelle3.Spalte2
              Tabelle1.Spalte3
              Tabelle2.Spalte1
              Tabelle2.Spalte2
              Tabelle1.Spalte4
              Tabelle3.Spalte1
             );

print Dumper \@array;

my %hoa = ();

#
# Array -> HoA
#
for (@array) {
   my ($tab, $spalt) = split /\./;
   push @{$hoa{$tab}}, $spalt;
}

print Dumper \%hoa;

#
# Sortieren der Arrays:
#
for (keys %hoa) {
   $hoa{$_} = [ sort @{$hoa{$_}} ];
}

print Dumper \%hoa;


bei gleicher Ausgabe.

Edit: Mir war nicht klar, dass er einfach eine Arrayreferenz anlegt, wenn ich auf den noch nicht vorhandenen Wert etwas pushe. Was passiert eigentlich, wenn dort schon etwas anderes war (etwa ein Skalar), würde dieser dann durch das neue anonyme Array mit dem einen gepushten Element ersetzt werden? Müsste wohl...\n\n

<!--EDIT|Crian|1068567119-->
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite

View full thread Gruppenverarbeitung