Thread Struct array und unterprogramm (20 answers)
Opened by Eles at 2010-10-28 13:29

topeg
 2010-10-28 16:11
#142285 #142285
User since
2006-07-10
2611 Artikel
BenutzerIn

user image
hier ein funktionierendes Beispiel:
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#!/usr/bin/perl
use strict;
use warnings;
use Class::Struct;

my @Artikel=(
  [ "tst",  10, '2,5'  ],
  [ "foo",   5, '1,2'  ],
  [ "bar", 100, '5'    ],
  [ "bam", 365, '0.01' ],
  [ "fom",   1, '0.96' ],
);

struct artikel_info => {
  anzahl => '$',
  name   => '$',
  preis  => '$',
};

my @myartikel;
for my $artikel (@Artikel)
{
  my $obj=artikel_info->new();
  $obj->name($artikel->[0]);
  $obj->anzahl($artikel->[1]);
  $obj->preis($artikel->[2]);
  push(@myartikel,$obj);
}

my $File_no=0;
for my $i (0..$#myartikel)
{
  print_Artikel($myartikel[$i],"",$File_no,$i);
}

sub print_Artikel {
  my $artikel = shift;
  my $schalter = shift;
  my $file_no = shift;
  my $i = shift;

  print "<!-- SCHALTER: $schalter -->\n";
  print "<!-- FILE:     $file_no -->\n";
  print "<!-- COUNTER:  $i -->\n";
  print "<!-- NAME:     ".$artikel->name." -->\n";
  print "<!-- PREIS:    ".$artikel->preis." -->\n";
  print "<!-- ANZAHL:   ".$artikel->anzahl." -->\n";
  print "<!--geht-->\n\n";
}


Du musst auch das "struct"-Objekt mit Werten füllen. Das klappt nicht von allein.
Du solltest dich über die Handhabung von Referenzen unter Perl informieren.Wiki:perlreftut und Wiki:perlref

View full thread Struct array und unterprogramm