Schrift
[thread]9140[/thread]

Ein string auf ein Musterüberprüfen ! (Seite 5)



<< |< 1 2 3 4 5 6 >| >> 52 Einträge, 6 Seiten
mr-sansibar
 2007-07-10 16:11
#78060 #78060
User since
2006-04-13
90 Artikel
BenutzerIn
[default_avatar]
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
foreach my $logFile(@logfilelist) {

open my $in , '<', $logFile or die $!;
print "Umstrukturieren $logFile \n";
while( my $line = <$in> ){
if( $line =~ /^Context/ ){
$line=~ s/^Context:\s+//;
@array = split /\s/, $line;
$line = join "|", @array;
if( $array[2] ne '' ){

$counter++;

if($logFile =~ /^dn/) {

print $frontend_context "$counter|$line\n";

}

elsif($logFile =~ /^logfile/ || /^inoutput/) {

print $backend_context "$counter|$line\n";

}
}

}
}


wenn die erste if-anweisung: if($logFile =~ /^dn/) false zurück liefert, dann muss er doch in die elsif springen: elsif($logFile =~ /^logfile/ || /^inoutput/)

aber bei mir haut das nicht so ganz hin. obwohl im scalar das richtige muster gespeichert ist, um in die elsif-anweisung auszuführen ???
renee
 2007-07-10 16:48
#78061 #78061
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
elsif($logFile =~ /^logfile/ || /^inoutput/) { ist vermutlich nicht das was Du willst. Du solltest entweder
Code: (dl )
elsif($logFile =~ /^logfile/ || $logFile =~ /^inoutput/) {
oder
Code: (dl )
elsif($logFile =~ /^(?:logfile|inoutput)/) {
machen...
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/
mr-sansibar
 2007-07-10 18:19
#78062 #78062
User since
2006-04-13
90 Artikel
BenutzerIn
[default_avatar]
vielen dank !
kannst du mir vielleicht noch ein tip geben, wie ich zwei ordner auf die inhalte überprüfen kann, wenn eine datei in dem anderen nicht vorkommt, das soll er die datei anzeigen die nicht entahlten ist.

habe an sowas gedacht!
Code: (dl )
1
2
my @logfilelist1 =glob("ordner1/.log");
my @logfilelist2 = glob("ordner2/.log");

dann diese zwei arrays vergleichen.\n\n

<!--EDIT|mr-sansibar|1184077651-->
renee
 2007-07-10 19:44
#78063 #78063
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Code (perl): (dl )
1
2
3
4
my @diff = grep{ my $i = $_; !grep{$_ eq $i}@logfilelist2 }@logfilelist1;

print "in logfilelist1, aber nicht in liste2:\n\n";
print $_,"\n" for @diff
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/
mr-sansibar
 2007-07-11 17:53
#78064 #78064
User since
2006-04-13
90 Artikel
BenutzerIn
[default_avatar]
Vielen Dank!
Mit Glob bekomme ich leider nicht die Log-Dateien in ein Array gepackt.
Beispielsweise:
Code: (dl )
my @perf1 =glob("logfile1/.log");


steht im array $perf1[0]="perf1/.log"

habe als alternative mit diesem befehl gearbeitet, und es geht auch.

Code: (dl )
1
2
3
opendir(DIR1, "perf1/");

my @perf1_files = grep {/\.log/} readdir(DIR1);


danke....\n\n

<!--EDIT|mr-sansibar|1184162066-->
sid burn
 2007-07-11 18:19
#78065 #78065
User since
2006-03-29
1520 Artikel
BenutzerIn

user image
[quote=mr-sansibar,11.July.2007, 15:53]Vielen Dank!
Mit Glob bekomme ich leider nicht die Log-Dateien in ein Array gepackt.
Beispielsweise:
Code: (dl )
my @perf1 =glob("logfile1/.log");
[/quote]
Was willst du den genau machen? ich denke es war wohl nicht Sinn genau die Datei 'logfile/.log' in ein Array zu Packen?

Wenn dann musst du noch Dateiglobs nutzen. Also soetwas.

Code: (dl )
my @perf1 = glob 'logfile/.log*'


Das packt dann jede logfile die unter logfile liegt und mit ".log" anfängt in das Array. (Du hast das Sternchen vergessen)

Bei soetwas würde ich aber aufpassen, den bei einer Relativen Pfadangabe benutzt er immer den aktuellen Pfad. Und nicht den pfad vom Skript aus. Möchtest du letzteres Implementieren, solltest du dir noch das Modul FindBin anschauen.
Nicht mehr aktiv. Bei Kontakt: ICQ: 404181669 E-Mail: perl@david-raab.de
mr-sansibar
 2007-07-12 15:11
#78066 #78066
User since
2006-04-13
90 Artikel
BenutzerIn
[default_avatar]
danke @sid burn !!!
werde mal das Modul FindBin anschauen.
mr-sansibar
 2007-07-23 14:38
#78067 #78067
User since
2006-04-13
90 Artikel
BenutzerIn
[default_avatar]
HI !
ich habe mir Perl Ide KOmodo installiert, leider ist Testphase abgelaufen.
Kennt ihr vielleicht eine Entwicklungsumgebung Umsonst ist. Habe gegoogelt und habe EPIC gefunden. Als Voraussetzung brauche ich Padwalker, weiß jemand wozu man es braucht ?
bieber
 2007-07-23 15:48
#78068 #78068
User since
2007-06-18
148 Artikel
BenutzerIn
[default_avatar]
ich nutze Eginsite Perl Editor(unter windoof), aber eigentlich ist es doch egal welchen editor man verwendet

http://www.enginsite.com/Perl.htm
nutze es in der freeware-version, hat schon ein paar nette features
Es gibt immer Leute die meinen, sie seien schlauer als ich. Das Schlimmste ist, sie sind es auch.
nepos
 2007-07-23 16:44
#78069 #78069
User since
2005-08-17
1420 Artikel
BenutzerIn
[Homepage] [default_avatar]
Gehört aber nu nicht so ganz in diesen Thread oder?
<< |< 1 2 3 4 5 6 >| >> 52 Einträge, 6 Seiten



View all threads created 2007-06-29 17:48.