Thread String in Zeile einer Datei suchen (18 answers)
Opened by Kalmuecke at 2006-11-06 12:08

renee
 2006-11-06 14:34
#71460 #71460
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Wenn zu jedem RegEx die Zeile gespeichert werden soll, in der der jeweilige RegEx als erstes aufgetaucht ist:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
my %hash;
my @regexs = (Ausdruck1, Ausdruck2, Ausdruck3);
open my $fh,'<',$filename or die $!;
while(my $line = <$fh>){
my ($regex) = grep{$line =~ /$_/}@regexs;
$hash{$regex} = $line unless exists $hash{$regex};
}
close $fh;

my @lines = values %hash;
print $_ for @lines;


Wenn die Reihenfolge noch wichtig ist:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
my %hash;
my @regexs = (Ausdruck1, Ausdruck2, Ausdruck3);
open my $fh,'<',$filename or die $!;
while(my $line = <$fh>){
my ($regex) = grep{$line =~ /$_/}@regexs;
$hash{$regex} = [$line,$.] unless exists $hash{$regex};
}
close $fh;

my @lines = map{$_->[0]}sort{$a->[1] <=> $b->[1]}values %hash;
print $_ for @lines;
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 String in Zeile einer Datei suchen