Schrift
[thread]216[/thread]

Datei öffnen, nach String suchen (Seite 2)



<< |< 1 2 >| >> 17 Einträge, 2 Seiten
Taulmarill
 2004-04-01 17:33
#1776 #1776
User since
2004-02-19
1750 Artikel
BenutzerIn

user image
ersetze mal
Code: (dl )
1
2
$ip = $ENV{'REMOTE_ADDR'};
open(ABSENDER,"hosts) or die $!;

durch
Code: (dl )
1
2
my $ip = $ENV{'REMOTE_ADDR'};
open(ABSENDER,"hosts") or die $!;


sind nur zwei fehler die ich auf die schnelle gefunden habe.
evtl. solltest du mal versuchen die fehlermeldungen zu analysieren.
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B
[E|B]
 2004-04-01 17:39
#1777 #1777
User since
2003-08-08
2561 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Wenn du strict einbindest musst du alle Variablen mit "my" vordeklarieren, was bei dir nicht der Fall ist.
Gruß, Erik!

s))91\&\/\^z->sub{}\(\@new\)=>69\&\/\^z->sub{}\(\@new\)=>124\&\/\^z->sub{}\(\@new\)=>);
$_.=qq~66\&\/\^z->sub{}\(\@new\)=>93~;for(@_=split(/\&\/\^z->sub{}\(\@new\)=>/)){print chr;}

It's not a bug, it's a feature! - [CGI-World.de]
piero
 2004-04-01 17:53
#1778 #1778
User since
2004-03-03
98 Artikel
BenutzerIn
[default_avatar]
ok. verstanden, danke.

aber wie deklariere ich in meinem Beispiel die Variable ABSENDER bzw. ist es überhaupt möglich, was ich vorhabe?

print M "From: $ABSENDER <$ABSENDER\@blabla.de>\n";
renee
 2004-04-01 17:56
#1779 #1779
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Ich habe aber auch gesagt, dass Du $name vor der while{}-Schleife deklarieren musst.

Also müsste das ganze dann so aussehen:
Edit: Code an pieros Wunsch angepasst (ich nehme an, er will, dass der Name, der in der Datei steht, als Absender auftaucht...)
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
#!/usr/bin/perl -w                                 
                                                 
use MIME::Base64;                                  
use strict;                                        
use warnings;                                      
use CGI;                                          
use CGI::Carp qw(fatalsToBrowser);

my ($Feld, $Name, $Wert);
my %Formular;

my $cgi=CGI->new();                        
print $cgi->header(-type=>'text/html');            
%Formular=$cgi->Vars();                                                        

my $hosts = 'Pfad/zum/hostfile';
my $name = ();
my $ip = $ENV{'REMOTE_ADDR'};
open(ABSENDER,"<$hosts") or die $!;  
while(my $line = <ABSENDER>) {
 chomp $line; #Zeilenumbruch entfernen                                          
 if($line =~ /^$ip/) { #wenn die Zeile mit der IP beginnt                      
   $name = (split (/\s+/,$line))[1]; # Der Name ist durch ein oder mehrere Leerzeichen
 }                                                                              
}                                                                              
close ABSENDER;

open(M, "|/usr/sbin/sendmail -t");

print M "To: Piero <gior\@imap>\n";                
print M "From: $name <$name\@blabla.de>\n";
print M "Subject: Test\n";                        
print M "Content-type: text/html\n\n";
print M "Dies ist eine Testmail von $name";
close M;
\n\n

<!--EDIT|renee|1080827971-->
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/
piero
 2004-04-01 18:26
#1780 #1780
User since
2004-03-03
98 Artikel
BenutzerIn
[default_avatar]
hallo,
da kommt immer so ein syntax error.

ist dies richtig?

open(ABSENDER,"<$hosts"> or die $!;
[E|B]
 2004-04-01 18:33
#1781 #1781
User since
2003-08-08
2561 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Nein, renee hat oben doch gepostet, wie es richtig ist. Wieso nimmst du seinen Vorschlag nicht?
Gruß, Erik!

s))91\&\/\^z->sub{}\(\@new\)=>69\&\/\^z->sub{}\(\@new\)=>124\&\/\^z->sub{}\(\@new\)=>);
$_.=qq~66\&\/\^z->sub{}\(\@new\)=>93~;for(@_=split(/\&\/\^z->sub{}\(\@new\)=>/)){print chr;}

It's not a bug, it's a feature! - [CGI-World.de]
piero
 2004-04-01 18:35
#1782 #1782
User since
2004-03-03
98 Artikel
BenutzerIn
[default_avatar]
[quote=piero,01.04.2004, 14:31]Hallo,
ist es möglich in Perl in einer Datei zu suchen und den Wert mit einem String zu vergleichen und diesen in eine Variable zu schreiben?
z.B.
ich will die Datei "hosts" öffnen. Hier steht folgendes:

127.0.0.50                 Sepp

Jetzt will ich die lokale IP-Adresse auslesen und in der Datei "hosts" nach der IP-Adresse suchen. Dann soll er mir "Sepp" in die Variable Namen schreiben.

Ist dies zu realisieren?

--
Gruß
Piero[/quote]
SORRY MEIN FEHLER
HAB MICH VERTIPPT; FUNKTIONIERT DOCH ALLES

WÜRDE GERNE ETWAS GELD FÜR EUCH SPENDEN; FÜR DIE TOLLE HILFE; DAMIT SOLCHE FOREN NICHT AUSSTERBEN!!!
<< |< 1 2 >| >> 17 Einträge, 2 Seiten



View all threads created 2004-04-01 16:31.