1
2
3
4
5
6
7
<?xml version='1.0' encoding='utf-8'?>
<ResultsSession time="05/31/11 11:07:00" toolName="toolname" toolVer="9.4.2">
<Authors>
HALLO
<Author id="dev1" name="SYSTEM" />
</Authors>
1
2
3
4
5
6
7
8
9
10
11
use strict;
open (my $IN,'<'.'report.xml');
my @array=(<$IN>);
close $IN;
for (my $i=0;$i<@array;$i+=1){
if(@array[$i]=='HALLO')
{
print "match";
}
}
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
#!/usr/bin/perl use strict; use warnings; # dateiname setzen my $file='report.xml'; # Datei als UTF-8 kodiert öffnen, oder Fehlermeldung open (my $fh,'<:encoding(UTF-8)', $file) or die("Error open $file ($!)\n"); # alles einlesen my @array=<$fh>; # Zeilenumbrüche entfernen chomp(@array); # Datei schließen close $fh; # das Array durchgehen for my $i (0..$#array) { # Arrayeintrag an stelle $i holen und mit "HALLO" vergleichen if($array[$i] eq 'HALLO') { print "match Line $i\n"; } }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
#!/usr/bin/perl use strict; use warnings; # dateiname setzen my $file='report.xml'; # Datei als UTF-8 kodiert öffnen, oder Fehlermeldung open (my $fh,'<:encoding(UTF-8)', $file) or die("Error open $file ($!)\n"); # alles einlesen my @array=<$fh>; # Zeilenumbrüche entfernen chomp(@array); # Datei schließen close $fh; # das Array durchgehen for my $line (@array) { print "match\n" if($line eq 'HALLO'); }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
#!/usr/bin/perl use strict; use warnings; # dateiname setzen my $file='report.xml'; # Datei als UTF-8 kodiert öffnen, oder Fehlermeldung open (my $fh,'<:encoding(UTF-8)', $file) or die("Error open $file ($!)\n"); { # input line separator local $/=undef; # mit regulärem Ausdruck "HALLO" finden print "match\n" if( <$fh>=~/\nHALLO\n/ ); } # Datei schließen close $fh;
Guest Markus S.Mein Check-Skript sucht nach HALLO:
Code: (dl )1
2
3
4
5
6
7
8
9
10
11use strict;
open (my $IN,'<'.'report.xml');
my @array=(<$IN>);
close $IN;
for (my $i=0;$i<@array;$i+=1){
if(@array[$i]=='HALLO')
{
print "match";
}
}
1 2 3
for ( my $i=0; $i<=$#array; $i+=1 ) { # pruefe $array[$i] auf Gleichheit ... }
my $alen = @a;
2011-05-31T16:41:59 hlubenow$#a ist die Anzahl der Elemente der Liste - 1, es muß dann also <= in der for-Schleife heißen.