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
my $nr=0; for my $i (10..99){ my $gdat= "$i.src"; my $packpfad = '\xxx\xx\xxxx\HP0'; my $config = $zielpfad.$packpfad.$gdat; if (-e "$config"){ $hp[$nr]= "HP0$i.src"; if ($verw_hp==1){ my %conf; my $var; my $value; open(CONF,"<$config") || die "could not read config file: $config [!$]\n"; while (<CONF>) { chomp; s/#.*//; s/^\s+//; s/\s+$//; next unless length; ($var, $value) = split(/\s* \s*/, $_, 2); $conf{$var} = $value; }; close(CONF); $hpcomment[$nr] = $conf{"&COMMENT"}; } if ($verw_unterprog==1){ ######################################### #hier sollte es weiter gehen ######################################### } $i++; $nr++; } } }
2014-03-04T14:12:20 renee* statt my $nr = 0; $hp[$nr] = "HP0$i.src"; $nr++ kannst Du einfach push @hp, "HP0$i.src"
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
#!/usr/bin/env perl use strict; use warnings; my $all = do { local $/; <DATA> }; my %matches = $all =~ /^(BA_.\w+).*?;(.*)$/mg; while (my ($unterprogramm, $kommentar) = each %matches) { print "Unterprogramm $unterprogramm hat den Kommentar $kommentar\n" } __DATA__ BedingterHalt(16) BA_08150_a_bc() ;bla bla bla ## <- ein Unterprogramm BedingterHalt(16) BA_08151_d_ef() ;bla bla bla bla ## <- ein anderes Unterprogramm
1 2 3 4 5
if ($verw_unterprog==1){ ######################################### #hier sollte es weiter gehen ######################################### }
=~ /^(BA_.\w+).*?;(.*)$/mg;
1 2 3
while( $str=~/(Collisionmonitoring\s+between\s+[^\(\)]+?\([\(\)]+\)\s+and\s+[^\(\)]+?\([\(\)]+\))\s(\w+)/sc ) { print "FOUND $1 ===> $2\n"; }
1 2 3
while( $str=~/(Collisionmonitoring\s+between\s+[^\(\)]+?\([\(\)]+\)\s+and\s+[^\(\)]+?\([\(\)]+\))\s(\w+)/sgc ) { print "FOUND $1 ===> $2\n"; }
1 2 3 4 5 6 7 8 9
#!/usr/bin/perl -w use strict; my $fold = ';FOLD ; Collisionmonitoring between 123RB_456(KR123R4567ultra) and 654RB_321(KR765R4321prime) on;%{PE}%R 8.2.20,%MKUKATPBASIS,%CCOMMENT,%VNORMAL,%P 2:Collisionmonitoring between 123RB_456(KR123R4567ultra) and 654RB_321(KR765R4321prime) on'; my ($comment) = $fold =~ /;FOLD\s*;\s*(Coll.+?);%/; my ($text, $status) = split(/\s+(\w+)$/, $comment, 2); print "$text \t $status \n";
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
#!/usr/bin/perl -w use strict; open(my $SRC, "<", "$srcfile") or die $!; while (my $line = <$SRC>) { my ($text, $status); if ($line =~ /;FOLD\s*;\s*(Coll.+?);%/) { $comment = $1; ($text, $status) = split(/\s+(\w+)$/, $comment); } else { next; } #mach was mit $text und $status } close $SRC;
2014-03-06T10:40:52 MichaelbHat von euch jemand eine gute seite in der regex einfach erklärt ist?