Schrift
[thread]523[/thread]

ein paar fragen - hilfe :/: njaa perl halt ^^ (Seite 3)



<< |< 1 2 3 4 5 >| >> 47 Einträge, 5 Seiten
Ronnie
 2005-07-10 18:02
#5189 #5189
User since
2003-08-14
2022 Artikel
BenutzerIn
[default_avatar]
Ich empfehle die Verwendung von Regexp::Common um IP-Adressen zu matchen:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/usr/bin/perl

use strict;
use warnings;

use Regexp::Common qw /net/;

open(INPUT, "<", "Datei.txt") or die "kann Datei.txt nicht lesen: $!\n";

while(<INPUT>) {
print $1, "\n" if /IP-Adresse.*:\s*($RE{net}{IPv4})/;
}

close(INPUT);
Derunwissende
 2005-07-10 19:35
#5190 #5190
User since
2005-07-05
20 Artikel
BenutzerIn
[default_avatar]
hm funkt. das mit subnetzmaske auch so [nur das man halt statt IP-Adresse nach Subnetzmaske suchen muss] oder geht da die verwendung von Regexp::Common nicht ?

mfg
Strat
 2005-07-11 00:42
#5191 #5191
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
auch eine subnetmask ist eine IP-Adresse... du musst nur sagen, dass du die "IP-Adresse" nach Subnetmask haben willst...
Code: (dl )
1
2
3
4
5
6
if ( /Subnetzmaske\.*?:\s*($RE{net}{IPv4})/) {
print "Subnetmask: $1\n";
}
else {
print "Keine subnetmask gefunden\N";
}
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
Derunwissende
 2005-07-11 01:19
#5192 #5192
User since
2005-07-05
20 Artikel
BenutzerIn
[default_avatar]
jo k <: ..thx !
coax
 2005-07-11 02:45
#5193 #5193
User since
2003-08-11
457 Artikel
BenutzerIn
[default_avatar]
[quote=Derunwissende,10.07.2005, 14:31]
Quote
# -----8<-----

my $input;
open($input, "<", "Datei.txt") or die "kann Datei.txt nicht lesen: $!\n";
while(<$input>) {
my ($ip) = $line =~ /IP-Adresse\.((?:\d+\.)+\d+)/;

# ----8<----
[/quote]
Du hast das Codestueck von renee nur in deinen Code kopiert statt ihn einzuarbeiten, das geht natuerlich nur in seltenen Faellen gut, hier zum Bsp. schon mal nicht, eine Variable $line gibt es bei dir nicht ;) .
Und da du strict und -w verwendest solltest du mindestens eine Fehlermeldung bekommen haben weil $line nicht deklariert wurde.
Diese Fehlermeldungen solltest du mit posten.
,,Das perlt aber heute wieder...'' -- Dittsche
Derunwissende
 2005-07-11 19:43
#5194 #5194
User since
2005-07-05
20 Artikel
BenutzerIn
[default_avatar]
[quote=coax,11.July.2005, 00:45][/quote]
in der arbeit bei mir gab es die aber schon :p  ..hatte die datei nicht zu hause und hab sie dann nochmal schnell in ein paar sek. geschrieben <: ..!

so ^^--> neuer tag, neues prob :(

Ich hab zwei textdateien, wo ich gewisse Zeilen raussuchen und dann löschen soll! das sollte alles im browser angezeigt werden ! am anfang kann man sich entscheiden welches Logfile angezeigt werden soll ! so dann hab ich mich zB für das Logfile1 (es gibt nur Logfile1 u. Logfile2 zur auswahl -ansonsten gibts fehlermeldung) ..bis dahin ist eigentlich noch alles klar - aber dann : wenn ich jetzt Logfile1 ausgewählt habe, wie kann ich Logfile1 bearbeiten ?

also normalerweise hab ich das bis jetzt immer so gemacht

Code: (dl )
1
2
3
4
5
my $input;
open($input, "<", "Logfile1.txt") or die "kann Logfile1 nicht lesen: $!\n";
while(<$input>) {
...
}


hm..also ich weiß nicht wie ich weiter erzählen soll ^^..ich zeig mal was klar ist:

Code: (dl )
1
2
3
4
5
<form action="/cgi-bin/comments.pl" method="post">
<p>Bitte Logfilenamen eingeben: <br>
<input name="Logfilename" size="40"> </p>
<p> <input type="submit" value="Ok"></p>
</form>


und wie könnt ich da jetzt Logfile1 bzw Logfile2 bearbeiten ? da muss ich ja irgendwie ne andere datei aufrufen, wo ich das reinschreibe oder geht das gleich hier jetzt im anschluss?

hui ich hoffe ich hab das gut genug erklärt^^

mfg
renee
 2005-07-11 19:47
#5195 #5195
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Code: (dl )
1
2
3
4
5
<form action="/cgi-bin/comments.pl" method="post">
<p>Bitte Logfilenamen eingeben: <br>
<input name="Logfilename" size="40"> </p>
<p> <input type="submit" value="Ok"></p>
</form>


Skript:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#! /usr/bin/perl

use strict;
use warnings;
use CGI;
use CGI::Carp qw(fatalsToBrowser);

my $cgi = CGI->new();
print $cgi->header();

my $file = $cgi->param('Logfilenam');

die "$file doesn't exist" unless(-e $file);

open(my $fh, "<$file") or die $!;
while(<$fh>){
print;
}
close $fh;
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/
Derunwissende
 2005-07-13 20:42
#5196 #5196
User since
2005-07-05
20 Artikel
BenutzerIn
[default_avatar]
soll das alles in einer datei stehen oder wo wird da ne andere datei aufgerufen ? hab das jetzt ein bisschen ausprobiert und auch mal was bisschen umgeschrieben...ist aber leider falsch ..

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
29
30
31
32
33
34
35
36
37
38
39
#!/usr/bin/perl -w
use strict;
use CGI;
use CGI::CARP qw(fatalsToBrowser);

print "Content-type: text/html\n\n";
print "<html><head><title>Logfile </title></head><body>\n";
print "<form action =\"/cgi-bin/comments.pl\" method=\"post\">\n";
print "<p><b> Logfilename eingeben </b> <br> \n";
print " <p> <input name =\"Logfilename\" size = \"40\" > </p> \n";
print "<p> <input type = \"submit\" value = \"Ok\" > </p> \n";
print "</form>\n";
print "</body></html>\n";

$a = "logfile-accesspoint-1.txt";
$b = "logfile-accesspoint-2.txt";

my $cgi = CGI->new();
print $cgi->header();
my $file= $cgi->param("Logfilename");

if($file == $a) {
  logfile1();
}
elsif($file==$b) {
  logfile1();
}

sub logfile1 {
  open(LOGFILE1, ">$a") or die "kann $a nicht oeffnen: $!\n";
  while(<LOGFILE1>) {
     print;
}

sub logfile2 {
  open(LOGFILE2, ">$b") or die "kann $a nicht oeffnen: $!\n";
  while(<LOGFILE2>) {
     print;
}


naja vielleicht kann mir da mal [wieder mal *g+] weiterhelfen

noch ne kleine frage zwischendurch: wie würde die datei da eben heißen ? - *.cgi? oder doch *.pl? und wenn ich so ne *.cgi datei hätte, wie könnt ich mir die dann in nen browser ansehn bzw wie kann ich mir *.pl dateien im browser ansehn ? ..oder sollte das ne *.html datei sein *g+ ?

mfg
ptk
 2005-07-13 21:37
#5197 #5197
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Quote
Code: (dl )
use CGI::CARP qw(fatalsToBrowser);

Bitte die Modulnamen in der richtigen Gross/Kleinschreibung schreiben, sonst knallt es, wenn man ein Betriebssystem (oder Filesystem) verwendet, das case sensitive ist.
Derunwissende
 2005-07-13 22:06
#5198 #5198
User since
2005-07-05
20 Artikel
BenutzerIn
[default_avatar]
jo use CGi::Carp qw(fatalsToBrowser); gehört meines wissen nach ^^..in der arbeit hab ich das auch, hab mir das ausgedruckt von der arbeit und nun vorhin mit der hand abgeschrieben

mfg
<< |< 1 2 3 4 5 >| >> 47 Einträge, 5 Seiten



View all threads created 2005-07-05 21:49.