Thread Suche in bestimmten Zeilen nach bestimmtem Wort (28 answers)
Opened by kabazza at 2007-01-04 19:25

renee
 2007-01-18 21:27
#72905 #72905
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Wenn ich diesen Code hier ausführe:
Code: (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
#!/usr/bin/perl

use strict;
use warnings;
use Data::Dumper;

my @result;

my $file = '/path/to/file';
open my $fh,"<",$file or die $!;
local $/ = "\n...\n";
while(my $entry = <$fh>){
my $bool = 0;
my @lines = split /\n/,$entry;
my @aacc = grep{/^(?:AA|CC)/}@lines;
my @temp = grep{/^(?:BB|DD|EE)/}@lines;
if(grep{/Mercedes/}@aacc){
push @result,\@temp;
}
}
close $fh;

print Dumper(\@result);

my @headers = qw(BB DD EE);
my $format = "%-15s %-15s %-15s\n";

print sprintf($format,@headers);
for my $sresult(@result){
my @texte;
for my $head(@headers){
my ($line) = grep{$_ =~ /^$head/}@$sresult;
$line = " " unless $line;
my $text = (split /\s+/,$line,2)[1];
$text ||= " ";
push @texte,$text;
}
print sprintf($format,@texte);
}


Bekomme ich diese Ausgabe:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
C:\>perl mercedes.pl
$VAR1 = [
[
'BB 230E',
'DD 400l Kofferraum',
'EE 132PS/ ??KW'
],
[
'BB 500SL',
'DD 150l Kofferraum',
'EE 350 PS'
]
];
BB DD EE
230E 400l Kofferraum 132PS/ ??KW
500SL 150l Kofferraum 350 PS
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/

View full thread Suche in bestimmten Zeilen nach bestimmtem Wort