Thread Präfixe aus Liste herausarbeiten (11 answers)
Opened by Philipp at 2012-01-30 22:06

Linuxer
 2012-02-04 16:28
#155859 #155859
User since
2006-01-27
3890 Artikel
HausmeisterIn

user image
pq hat recht. Ich habe mich aber mal am Raten versucht und habe folgenden Vorschlag:

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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#! /usr/bin/perl
# vim:ts=4 sw=4 sts=4 et nu fdc=3:
use strict;
use warnings;
use Tie::IxHash;

# keep hash sorted; see perldoc Tie::IxHash
tie my %part, 'Tie::IxHash';

# read data
while ( my $line = <DATA> ) {
    # split each number into a base (variable length)
    # and a "postfix" which is the last digit of the number
    my ( $base, $postfix ) = $line =~ m/(\d+?)(\d)$/;
 
    # store the data in an HoA; see perldoc perldsc
    push @{ $part{$base} }, $postfix;
}

# create output
for my $base ( keys %part ) {

    my @array = @{ $part{$base} };

    # if we have ten postfixes for the base,
    # just print the base; we do NOT care if 
    # all postfixes are different or not.
    if ( 10 == @array ) {
        print $base, $/;
    }
    else {
        print $base.$_.$/   for @array;
    }
}


__DATA__
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
2343
2344
345670
345671
345672
345673
345674
345675
345676
345677
345678
345679
45
46


Wenn die restlichen Bedingungen/Voraussetzungen/Anforderungen bekannt sind, muss das wahrscheinlich
wiederum angepasst werden.
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 Präfixe aus Liste herausarbeiten