Thread OOP hash zurückgeben (2 answers)
Opened by bieber at 2008-07-29 12:56

bieber
 2008-07-29 12:56
#112856 #112856
User since
2007-06-18
148 Artikel
BenutzerIn
[default_avatar]
nachdem ich nun auf OOP umgestiegen bin, habe ich leider ein Problem welches ich nicht lösen kann...

folgendes: in einer Methode soll ein Hash generiert werden und dann zurückgegeben werden,
anschließend wird mit Hilfe von HTML::Template::Compiled eine Navigation in abhängikeit der Rechte erzeugt...(spielt hier aber keine Rolle)

mein Problem ist, dass ich den Hash nicht übergeben kann, bzw. es einfach nicht hinbekomme, wäre schön wenn mir da jm. helfen könnte

Code (perl): (dl )
1
2
3
my $data = $object->database_navigation($s->param("GROUP"));
$navigation->param(SERVERLISTE => \@data);
print $navigation->output();


meine Klasse sowie die database-methode:
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
50
51
52
53
54
55
56
57
58
59
60
61
62
package OWN::Functions;

use strict;
use warnings;
use lib "../../lib/";
use Digest::MD5  qw(md5);

our $VERSION = '0.01';

#Konstruktor
sub new{
    my ($class) = @_;
    my $self = {};
    return bless $self,$class;
}
sub database_navigation{
        my ($self,$group) = @_;
        if($group == 1){
          #administrator
          my $data = (
                {
                        SERVER => '1',
                        DATENBANKLISTE => [
                                {
                                        DATENBANK => 'HKR'
                                },
                                {
                                        DATENBANK => 'HKR2'
                                }
                        ]                       
                },
        
                {       SERVER => '2',
                        DATENBANKLISTE => [
                                {
                                        DATENBANK => 'EWO'
                                },
                                {
                                        DATENBANK => 'EWO2'
                                }
                        ]
                 }
          );
        }else{
          #Verfahrensbetreuer
          my $data = (
                {
                        SERVER => '1',
                        DATENBANKLISTE => [
                                {
                                        DATENBANK => 'HKR'
                                },
                                {
                                        DATENBANK => 'HKR2'
                                }
                        ]                       
                }
          );    
        }
        $self->{data} = @data;
        return $self->{data};
}


in der Fehlerkonsole kommen 2 Dinge:
Functions.pm: Useless use of anonymous hash ({}) in void context
[error] Global symbol "@data" requires explicit package name

Verstehe beide Fehler leider nicht. In den Perl-Buch welches ich rumkullern habe ist OOP immer im Zusammenhang mit dem Exporter... das wollte ich mir eigentlich sparen... bzw. da habe ich einfach nicht die Zeit mich einzulesen momentan
Es gibt immer Leute die meinen, sie seien schlauer als ich. Das Schlimmste ist, sie sind es auch.

View full thread OOP hash zurückgeben