![]() |
![]() |
9 Einträge, 1 Seite |
1
2
3
4
5
6
7
8
use strict;
use warnings;
use Data::Dumper qw/Dumper/;
my $array_ref = [];
$array_ref->[0]->[1]->[2] = 'inhalt';
print Dumper $array_ref;
1
2
3
4
5
6
my $array_ref = [];
my @array2 = (qw/Buch Titel Verfasser/);
$array_ref[0] = \@array2;
# gib das Buch aus:
print $array_ref->[0]->[0];
1
2
3
4
5
6
7
8
9
10
11
my %hash = ();
$hash{buch} = {verfasser => 'niemand', titel => 'das nichtexistente buch'};
# gibt den titel des Datensatzes aus
my $buch = 'buch';
print $hash{$buch}->{titel};
# besser: abfangen, falls das bcuh nicht drin steht:
if( exists $hash{$buch} ) {
print Dumper $hash{$buch};
}
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
#!/usr/bin/perl use strict; use warnings; use Data::Dumper; # meine (sehr) kleine Buchverwaltung my @buecher=(); sub add_buch($$) { my ($autor,$titel)=@_; # Bitte nur Strings und anonyme Arrays: return -1 if( ref($autor) ne '' and ref($autor) ne 'ARRAY' ); # Bitte nur Strigs als Buchtitel: return -1 if(ref($titel) ne ''); # Das Buch hinzufügen push(@buecher,[$autor,$titel]); # die ID des Buches Zurückliefern my $refid=$#buecher; return $refid; } sub get_titel($) { my $refid=shift(@_); return $buecher[$refid][1]; } sub get_autor($) { my $refid=shift(@_); # Bibt es mehrer Autoren?-->; Der eintrag ist ein Array if(ref($buecher[$refid][0]) eq 'ARRAY') { return $buecher[$refid][0][0]; } else { return $buecher[$refid][0]; } } sub get_coautoren($) { my $refid=shift(@_); # Bibt es mehrer Autoren?-->; Der eintrag ist ein Array if(ref($buecher[$refid][0]) eq 'ARRAY') { my @coautoren=@{$buecher[$refid][0]}; shift(@coautoren); # der erste Eintrag ist der Autor return join(',',@coautoren); } else { return 'keine Eingetragen'; } } # ein Buch mit Titel und Autor hinzufügen: my $id_a=&add_buch('Lois McMaster', 'Cetaganda'); # Da kommt ein Zweidimensionales Array heraus... # Ein Buch mit Titel, Autor udn Coautoren hinzufügen: my $id_b=&add_buch(['Terry Patchett','Ian Stewart','Jack Cohen'],'Die Gelehrten der Scheibenwelt'); # Das anonyme Aarray mit den Autornamen macht das Array dreidimensional # das Array siht nun so aus: print "-"x20,"\n"; print "Struktur:\n".Dumper(\@buecher)."\n"; print "-"x20,"\n"; # und nun die Ausgaben: print "-"x20,"\n"; print " Buch: ".get_titel($id_a)."\n Autor: ".get_autor($id_a)."\n Coautor(en): ".get_coautoren($id_a)."\n"; print "-"x20,"\n"; print " Buch: ".get_titel($id_b)."\n Autor: ".get_autor($id_b)."\n Coautor(en): ".get_coautoren($id_b)."\n"; print "-"x20,"\n";
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
--------------------
Struktur:
$VAR1 = [
[
'Lois McMaster',
'Cetaganda'
],
[
[
'Terry Patchett',
'Ian Stewart',
'Jack Cohen'
],
'Die Gelehrten der Scheibenwelt'
]
];
--------------------
--------------------
Buch: Cetaganda
Autor: Lois McMaster
Coautor(en): keine Eingetragen
--------------------
Buch: Die Gelehrten der Scheibenwelt
Autor: Terry Patchett
Coautor(en): Ian Stewart,Jack Cohen
--------------------
![]() |
![]() |
9 Einträge, 1 Seite |