Thread 2 Arrays abwechselnd miteinander "verbinden" (12 answers)
Opened by Ensretted at 2008-07-23 17:09

Linuxer
 2008-07-23 20:36
#112525 #112525
User since
2006-01-27
3891 Artikel
HausmeisterIn

user image
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!

View full thread 2 Arrays abwechselnd miteinander "verbinden"