|< 1 2 >| | 17 Einträge, 2 Seiten |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
...
open(FILE, "<", $file)
while($z = <FILE>) {
if ($z =~ <mein pattern>) {
$key=$1;
chomp $key;
}
if ($z=~ <mein 2. pattern>){
$value=$1;
chomp $value;
}
$hash{$key}=$value;
}
close(FILE)
1
2
3
4
5
6
7
8
9
10
11
12
13
open(FILE, "<", $file)
while($z = <FILE>) {
if ($z =~ <mein pattern>) {
$key=$1;
chomp $key;
}
if ($z=~ <mein 2. pattern>){
$value=$1;
chomp $value;
}
push @{$hash{$key}}, $value;
}
close(FILE)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
open(FILE, "<", $file)
my $key;
while($z = <FILE>) {
my $value;
if ($z =~ <mein pattern>) {
$key=$1;
chomp $key;
}
elsif ($z=~ <mein 2. pattern> && $key ne ''){
$value=$1;
chomp $value;
}
if ($value ne '' && $key ne ''){
if(exists($hash{$key})){
push @{$hash{$key}}, $value;
}
else {
$hash{$key}=[$value];
}
$key='';
}
}
close(FILE);
1
2
3
4
5
6
if(exists($hash{$key})){
push @{$hash{$key}}, $value;
}
else {
$hash{$key}=[$value];
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[Name11]
text
text
test001
text
[Name12]
text
text
test002
text
[Name13]
text
text
test001
text
...
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
#!/usr/bin/perl
use strict;
use warnings;
use Data::Dumper;
# Datei die überprüft werden soll
my $file = '/path/to/file';
# alle Pattern
my @pattern = qw(test001 test002);
# Hash mit Ergebnissen
my %hash;
{
open my $fh, '<',$file or die $!;
local $/ = "\n\n"; # $/ auf "Leerzeile" setzen
while(my $entry = <$fh>){
my ($key) = $entry =~ m!\[(.*?)\]!;
for my $line(split(/\n/,$entry)){
for my $pat(@pattern){
if($line =~ /\Q$pat\E/){
push @{$hash{$pat}},$key;
next;
}
}
}
}
close $fh;
}
print Dumper(\%hash);
|< 1 2 >| | 17 Einträge, 2 Seiten |