Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]965[/thread]

Neuling bruacht Hilfe!



<< |< 1 2 >| >> 11 Einträge, 2 Seiten
Spuki
 2007-07-16 15:13
#375 #375
User since
2007-07-13
38 Artikel
BenutzerIn
[Homepage] [default_avatar]
folgendes problem:

4 arrays, wobei 1. element 1. Array <-> 1. element 2. array <-> 1. element 3. array .... usw. von einanderabhängig sind....

mein problem besteht jetzt darin: zwecks der übersichtlichkeit hätte ich es gern wenn die zahlenwerte im 1. Array sortiert ausgegeben werden würden..... sortiere ich es allerdings geht meine abhängigkeit verloren (btw: nur Array 1 enthält Zahlenwerte)

meine lösungen musste ich performance-technisch leider wieder verwerfen....

brauche also hilfe!

danke, spuki
$^="2rehtona 3lrep 1tsuj 4rekcah";@~=sort split/ /,$^;_(
_(_(_())));sub _{print$^=reverse substr$~[0],1;shift@~;}

...erster Versuch eines JAPH :D
renee
 2007-07-16 15:19
#376 #376
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
my @array1 = qw(1 2 4 7 2 4 1);
my @array2 = qw(...);
# ... weitere arrays ...

my @index = sort{ $array1[$a] cmp $array2[$b] }@array1;

@array1 = @array1[@index];
@array2 = @array2[@index];
# ... weitere arrays ...

ungetestet...
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/
bieber
 2007-07-16 15:20
#377 #377
User since
2007-06-18
148 Artikel
BenutzerIn
[default_avatar]
ich würde das array einfach kopieren, und dann dieses zusätzliche Array sortiert ausgeben

die Informationen die du gibst sind aber sehr wenig, so weiß niemand wo denn nun genau das Problem ist,
wie werden wo diese Abhängigkeiten z.B. benötigt wäre gut zu wissen

PS gehört das wirklich unter CGI?? klingt erstmal nach nem Standardproblem
Es gibt immer Leute die meinen, sie seien schlauer als ich. Das Schlimmste ist, sie sind es auch.
renee
 2007-07-16 15:21
#378 #378
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=bieber,16.07.2007, 13:20][...]

PS gehört das wirklich unter CGI?? klingt erstmal nach nem Standardproblem[/quote]
ich verschieb's in ein paar Minuten (nicht jetzt damit der OP seinen Thread nicht vermisst)
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/
GwenDragon
 2007-07-16 15:38
#379 #379
User since
2005-01-17
14607 Artikel
Admin1
[Homepage]
user image
@spuki

Dein Titel des Threads ist nun wirklich nicht aussagekräftig.
Das nächste Mal bitte einen richtigen Titel.
Ein Beispieltitel für dein Posting:
Arrays sortieren
Spuki
 2007-07-16 15:38
#380 #380
User since
2007-07-13
38 Artikel
BenutzerIn
[Homepage] [default_avatar]
[quote=bieber,16.07.2007, 13:20]ich würde das array einfach kopieren, und dann dieses zusätzliche Array sortiert ausgeben

die Informationen die du gibst sind aber sehr wenig, so weiß niemand wo denn nun genau das Problem ist,
wie werden wo diese Abhängigkeiten z.B. benötigt wäre gut zu wissen

PS gehört das wirklich unter CGI?? klingt erstmal nach nem Standardproblem[/quote]
guat hier die ganze geschichte:

aufgabenstellung ist es einen log.file zu analysieren und bestimmte muster schlussendlich dann in einer datenbank abzuspeichern....

die besagten 4 arrays stehen für:
-uhrzeit
-freebytes
-heapsize
-millisekunden

so sieht so ein block aus:

<CON[4501]: Concurrent collection, (11726096/678810600) (34008496/35726872), 101894 ms since last CON or AF>
<GC(4782): Bytes Traced =279081319 (Foreground: 24630732+ Background: 254450587) State = 2 >
<GC(4782): GC cycle started Tue Jul 3 01:05:12 2007
<GC(4782): freed 366305352 bytes, 57% free (412039944/714537472), in 126 ms>
<GC(4782): mark: 92 ms, sweep: 34 ms, compact: 0 ms>
<GC(4782): refs: soft 0 (age >= 32), weak 2, final 227, phantom 0>
<CON[4501]: completed in 291 ms>

--> werden beim einlesen jeweils in ein Arrray geschmissen

und wenn ich meine blöcke eingelesen hab und nach uhrzeit sortiert habe sollen diese "abhängigkeit" immer noch bestehen....

ps: bin neu wusste nicht wo ichs hinschreiben sollte :D
$^="2rehtona 3lrep 1tsuj 4rekcah";@~=sort split/ /,$^;_(
_(_(_())));sub _{print$^=reverse substr$~[0],1;shift@~;}

...erster Versuch eines JAPH :D
renee
 2007-07-16 15:40
#381 #381
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Ich würde das in einen Hash schreiben und nicht in viele Arrays, ansonsten meinen ersten Post beachten...
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/
bieber
 2007-07-16 15:53
#382 #382
User since
2007-06-18
148 Artikel
BenutzerIn
[default_avatar]
du speicherst es in eine Datenbank, die sollte das sortieren eigentlich auch hinbekommen ;)

ansonsten wie renee sagt einen Hash mit den zu sortierenden (ehemaligen)array als key, und die restlichen (ehemaligen)arrays als values mit Komma getrennt oder so, nach dem sortieren kannst du es dann wieder auseinanderfrieseln^^
Es gibt immer Leute die meinen, sie seien schlauer als ich. Das Schlimmste ist, sie sind es auch.
Spuki
 2007-07-16 15:56
#383 #383
User since
2007-07-13
38 Artikel
BenutzerIn
[Homepage] [default_avatar]
[quote=bieber,16.07.2007, 13:53]du speicherst es in eine Datenbank, die sollte das sortieren eigentlich auch hinbekommen ;)[/quote]
might be true :D
$^="2rehtona 3lrep 1tsuj 4rekcah";@~=sort split/ /,$^;_(
_(_(_())));sub _{print$^=reverse substr$~[0],1;shift@~;}

...erster Versuch eines JAPH :D
sid burn
 2007-07-16 16:05
#384 #384
User since
2006-03-29
1520 Artikel
BenutzerIn

user image
Um mal auf dein erstes Problem mit den vielen Arrays zurück zu kommen: Dann hier eine fehlerbereingte version von renees Code. ;)

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Die Arrays
my @array1 = qw( 4 2 3 1);
my @array2 = qw( d b c a);

# Sortiere das Array Numerisch. Allerdiengs gib den Sortierten index zurück
my @indexes = sort { $array1[$a] <=> $array1[$b] } 0 .. $#array1;

# Mit den vorhandenen index die Arrays neu schreiben lassen
@array1 = @array1[ @indexes ];
@array2 = @array2[ @indexes ];

# Alles ausgeben
for ( 0 .. 3 ) {
print "$array1[$_] => $array2[$_]\n";
}



Ansonsten wenn du das ganze ausliest aus der Logfile, dann würde ich entweder ein Array of Arrays oder ein Array of Hashes nutzen.\n\n

<!--EDIT|sid burn|1184587781-->
Nicht mehr aktiv. Bei Kontakt: ICQ: 404181669 E-Mail: perl@david-raab.de
<< |< 1 2 >| >> 11 Einträge, 2 Seiten



View all threads created 2007-07-16 15:13.