Schrift
[thread]2898[/thread]

Eine Zeile in Text.txt löschen: Ich möchte gerne eine data txt bearbeite



<< >> 2 Einträge, 1 Seite
Gast Gast
 2004-04-09 19:17
#29165 #29165
Ich habe ein adressbuch, ich fülle ein Formular aus und der neue Eintrag wir, über ein perl Script, als *.txt file gespeichert.
Nun möchte ich in einem input field einen namen eintragen und über ein script diesen Eintrag aus der *txt datei löschen.
Ich weiss aber nicht in welcher Zeile der jeweilige Eintrag ist ?
Wer hat eine einfache lösung.
mein speicher script sieht so aus, für die adressen :
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
#!/usr/bin/perl

read(STDIN, $Daten, $ENV{'CONTENT_LENGTH'});

open(COMMENTS, ">>data.txt");   # HTML-Datei zum Schreiben öffnen

$Daten =~ tr/&=+/| -/;
$Daten =~ s/Name/\ \;/g;
$Daten =~ s/Firstname/\ \;/g;
$Daten =~ s/Street/\ \;/g;
$Daten =~ s/Nr/\ \;/g;
$Daten =~ s/%2F/\/\;/g;
$Daten =~ s/Code/\ \;/g;
$Daten =~ s/City/\ \;/g;
$Daten =~ s/Tel/\ \;/g;
$Daten =~ s/eMail/\ \;/g;
$Daten =~ tr/;/ /;

$Daten =~ s/[ ]| //gi;
#$Daten =~ s/+/\-\;/g;

print COMMENTS "$Daten\n";

close(COMMENTS);

print "Content-type: text/html\n\n";
print "<html><head><TITLE>visualVIBES bioNET</TITLE></head>\n";
print "<body bgColor=#dcd299>\n";
print "<i style=color:#FF6633 style=font-family:Arial style=font-weight:bold style=font-size:50pt style=filter:Glow(color=#FF5522, strength=10)>your entry has been saved </a></i>";
print "<p><hr noshade size=1><p>";
print "<i style=color:#FF6633 style=font-family:Arial style=font-size:50pt><a href=\"http://localhost/index.html\>back</a></i>....";
print "</body>\n";
print "</html>\n";


mailt mir doch einfach unter visualvibes@tiscali.de

danke   (Intranet)


Edit renee: [code]-Tags eingefügt\n\n

<!--EDIT|renee|1081524932-->
renee
 2004-04-09 19:42
#29166 #29166
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Da wir hier ein Forum sind, schreibe ich die Antwort (oder besser Lösungsvorschlag) hier hinein und nicht in einer E-Mail...

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
#! /usr/bin/perl

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

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

my $file = './data.txt';

open(R_FILE,"<$file") or die($!);
my @entries = <R_FILE>;
close R_FILE;

foreach(@entries){
 if($_ =~ /^$params{input_text_name}/){
   $_ = "";
 }
}

open(W_TXT,">$file") or die($!);
print $_ for(@entries);
close W_TXT;

print "Der Eintrag $params{input_text_name} wurde gelöscht";


das input_text_name muss Du noch durch den Namen des Textfeldes im Formular ersetzen...

Ich halte es aber für sehr gewagt, einen Eintrag nur aufgrund des Namens zu löschen. Besser wäre da Vor- und Zuname...\n\n

<!--EDIT|renee|1081525515-->
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/
<< >> 2 Einträge, 1 Seite



View all threads created 2004-04-09 19:17.