Schrift
[thread]7305[/thread]

Mein Script, seine Hashes und ich...



<< >> 2 Einträge, 1 Seite
DocJunioR
 2005-09-23 10:53
#58376 #58376
User since
2005-08-29
53 Artikel
BenutzerIn
[default_avatar]
Also ich hab eine Klasse die mir die Datenverwaltung ähnlich einer (seeehr simplen) DB ermöglicht.
Sämtliche Daten werden in den Speicher geladen und von da aus weiter verwendet.

Meine Suchfunktion sieht so aus:
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
    #get Data
sub get
{
my $self = shift;
my %find = %{$_[0]};
my %splitrow;
my %found;
my $dcmp;
my @output;
my $datarow;
my $fit;

for ($datarow = 0; $datarow < @{$self->{'data'}}; $datarow++)
{

%splitrow = %{$self->unstring (${$self->{'data'}}[$datarow])};

$fit = 1;

foreach $dcmp (keys(%find))

{

if ($find{$dcmp} ne $splitrow{$dcmp})

{

$fit = 0;

}

}

if ($fit == 1)

{

push(@output, $self->unstring (${$self->{'data'}}[$datarow]));

}
}
return \@output;
}

Das funktioniert auch ganz gut solange ich einen Hash als Datensatz übergebe.
Übergebe ich einen undefinierten Wert (will also eigentlich alle Daten haben) dann bekomm ich nen Problem.
Wie kann ich das am günstigsten abfangen?
renee
 2005-09-23 11:09
#58377 #58377
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Wenn Du alle Daten haben willst:
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
    #get Data
sub get
{
my $self = shift;
my %find = %{$_[0]};
my %splitrow;
my %found;
my $dcmp;
my @output;
my $datarow;
my $fit;

if(defined $_[0]){
for ($datarow = 0; $datarow < @{$self->{'data'}}; $datarow++){
%splitrow = %{$self->unstring (${$self->{'data'}}[$datarow])};

$fit = 1;

foreach $dcmp (keys(%find)){
if ($find{$dcmp} ne $splitrow{$dcmp}) {
$fit = 0;
}
}
if ($fit == 1) {
push(@output, $self->unstring (${$self->{'data'}}[$datarow]));
}
}
}
else{
for ($datarow = 0; $datarow < @{$self->{'data'}}; $datarow++){
push(@output, $self->unstring (${$self->{'data'}}[$datarow]));
}
}
return \@output;
}
\n\n

<!--EDIT|renee|1127459409-->
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
<< >> 2 Einträge, 1 Seite



View all threads created 2005-09-23 10:53.