Thread 2 Arrays abwechselnd miteinander "verbinden"
(12 answers)
Opened by Ensretted at 2008-07-23 17:09
Hi,
ohne zu wissen, wie die Schleife implementiert ist, kann man sie nur schwer beurteilen... Es hängt immer davon ab, wie simpel/komplex die gewünschten Aktionen sind, die mit der Schleife oder dem grep durchgeführt werden sollen. Wie wärs hiermit? 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 #!/usr/bin/perl # vi:ts=4 sw=4 et: use strict; use warnings; my @result = (); while ( my $line = <DATA> ) { chomp $line; if ( index( $line, '00 BAPI', 0 ) == 0 ) { #print substr( $line, rindex( $line, ']')+2 ), '***'; push @result, substr( $line, rindex( $line, ']')+2 ) . '***'; } elsif ( index( $line, '20 BAPI', 0 ) == 0 ) { #print substr( $line, rindex( $line, ']')+2 ), $/; $result[-1] .= substr( $line, rindex( $line, ']')+2 ); } } { local $" = local $\ = $/ ; print "@result"; } __END__ 00 BAPI_RSLT_REQ_ISOMSG [TESTER] 22 F1 00 20 BAPI_RSLT_RESP_ISOMSG [HSCAN_UDS_500;RDU_212.RDU_212_000004_not_released] 62 F1 00 00 00 04 03 00 BAPI_RSLT_REQ_ISOMSG [TESTER] 22 F1 54 20 BAPI_RSLT_RESP_ISOMSG [HSCAN_UDS_500;RDU_212.RDU_212_000004_not_released] 62 F1 54 00 46 00 BAPI_RSLT_REQ_ISOMSG [TESTER] 22 F1 55 20 BAPI_RSLT_RESP_ISOMSG [HSCAN_UDS_500;RDU_212.RDU_212_000004_not_released] 62 F1 55 00 46 00 BAPI_RSLT_REQ_ISOMSG [TESTER] 22 F1 50 20 BAPI_RSLT_RESP_ISOMSG [HSCAN_UDS_500;RDU_212.RDU_212_000004_not_released] 62 F1 50 07 1D 00 00 BAPI_RSLT_REQ_ISOMSG [TESTER] 22 F1 51 20 BAPI_RSLT_RESP_ISOMSG [HSCAN_UDS_500;RDU_212.RDU_212_000004_not_released] 62 F1 51 08 12 00 00 BAPI_RSLT_REQ_ISOMSG [TESTER] 22 F1 53 20 BAPI_RSLT_RESP_ISOMSG [HSCAN_UDS_500;RDU_212.RDU_212_000004_not_released] 62 F1 53 08 0B 00 00 BAPI_RSLT_REQ_ISOMSG [TESTER] 22 F1 11 20 BAPI_RSLT_RESP_ISOMSG [HSCAN_UDS_500;RDU_212.RDU_212_000004_not_released] 62 F1 11 30 33 37 35 34 35 33 34 33 32 00 BAPI_RSLT_REQ_ISOMSG [TESTER] 22 F1 21 20 BAPI_RSLT_RESP_ISOMSG [HSCAN_UDS_500;RDU_212.RDU_212_000004_not_released] 62 F1 21 32 31 32 34 34 32 32 33 33 32 00 BAPI_RSLT_REQ_ISOMSG [TESTER] 22 F1 31 20 BAPI_RSLT_RESP_ISOMSG [HSCAN_UDS_500;RDU_212.RDU_212_000004_not_released] 7F 22 31 meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen! |