perlunity.de - PERL | JAVASCRIPT | PHP | MySQL | APACHE



#!/COMMUNITY

Members: 5374
davon online: 1
weitere User: 28
Click for quality!




10.02.2012 / 21:01

Community-Member werden   |   Paßwort vergessen   |   OnlineMonitor (1) Wer ist online ... OnlineMonitor starten !
     

 

Home


PERLscripts


PHPscripts


JAVAscripts


Hilfreiches


Links2www


Newscenter


Community


Interna




Community  »  Perl: Allgemeines Forum zur Themenübersicht Themensuche Themenansicht in Thread-Modus


BeitragReihenfolge meiner Liste ändern
Seitenanfang
Hallo Perl-Leute!!

Ich habe ein Problem, das schon seit einen paar Tage nicht lösen kann, und ist das ich eine Liste habe, wie die folgende:

2112;6630325;SolidCAM;66303251_BUCHSE.PRT
2112;6630325;SolidCAM;66303251_BUCHSE_000.PRT
2112;6630325;2112;6630325A-.o
2112;6630325;GEO;6630325-SP1AVO0202112.GEO
2112;6807602;2110;6807602A-.o
2112;6807602;2112;6807602A-.o
2112;6807602;2127;6807602A-.o
2126;6924191;2125;6924191AA.O
2126;6924191;2125;6924191BA.o
2126;6924191;2126;6924191AA.o
2126;6924191;2127;6924191A-.o

Nun möchte ich die Reihenfolge der Zeile ändern und so soll sie aussehen

2112;6630325;2112;6630325A-.o #---------------------------hier
2112;6630325;SolidCAM;66303251_BUCHSE.PRT
2112;6630325;SolidCAM;66303251_BUCHSE_000.PRT
2112;6630325;GEO;6630325-SP1AVO0202112.GEO
2112;6807602;2112;6807602A-.o#<--------------------------hier
2112;6807602;2110;6807602A-.o
2112;6807602;2127;6807602A-.o
2126;6924191;2126;6924191AA.o #<--------------------------hier
2126;6924191;2125;6924191AA.O
2126;6924191;2125;6924191BA.o
2126;6924191;2127;6924191A-.o

Die Zeilen wollte ich eigentlich anordnen, in Abhängigkeit von dem 1 und 3 Element meines Arrays. Also wenn die Zeile mit 2112 anfängt, dann soll der 3 Element dieser gleichen Zeile auch 2112 haben, solange das zweite Element (in diesem Fall 6630325) nicht geändert wird.

Ich habe das folgende Script geschrieben, aber es hat nicht mit der neuen Reihenfolge geklappt.

Perl:
01: for (@vorhandene_programme)
02: {
03: $zeile = $_;
04: @split_vorhandene_programme = split (/;/, $zeile);
05: $laufende_kostenstelle = @split_vorhandene_programme[0];
06: $material_nummer = @split_vorhandene_programme[1];
07: $gefundene_kostenstelle = @split_vorhandene_programme[2];
08:
09: if ($laufende_kostenstelle == $gefundene_kostenstelle)
10: {
11: $zeile_mit_gleicher_kst = $_;
12: if ($merker == 0)
13: {
14: print @gefundene_programme_in_andere_kst;
15: @gefundene_programme_in_andere_kst = ();
16: }
17: print "$zeile_mit_gleicher_kst";
18: $merker = 1;
19:
20: }
21: else
22: {
23: $merker = 0;
24: $zeile_mit_anderer_kst = $_;
25:
26: push (@gefundene_programme_in_andere_kst, $zeile);
27: }
28: }

Datum: 18.10.2007-14:10

-






-
-