|
|
 |

|

 |

| Community » CGI: Allgemeines Forum |
|
Eingaben in eine Textdatei schreiben
|
Seitenanfang |
Hallo Forum; ich muß Dateien uploaden, diese Dateien dann im Browserfenster darstellen und zu jeder dargestellten Datei eine Beschreibung dann im HTML Fenster eingeben. Wenn ich dann submit drücke, schreibt er mir die Textdatei, aber er schreibt mir nur die ersten eingegebenen Parameter, dh.: wenn ich 3 files habe und alle drei haben eine verschiedene Beschreibung, schreibt mir das Script nur den ersten parameter zu allen 3 files. ich stelle das script mal dazu und hoffe hier Hilfe und Ratschläge zu bekommen. vielen Dank
print header, start_html('Upload Manager'), h1('cMAIS'), h3('(cDNAMicroArrayInformationSite)'), start_form, #param(-name=>'file',-value=>""); #param(-name=>'Gal',-value=>""); chdir($upload); opendir(FH,$upload) or die ("Could not open upload diectory: $!"); my @read=readdir(FH); close FH; my $file1; $anz=0; my$gal="37MM"; foreach $file1 (@read){ if($file1=~/$gal(.+)\.gpr/){ push(@richtig,$file1); $anz++; print "SlideNr",textfield(-name=>'number',-default=>$anz, -size=>3),a, "Name",textfield(-name=>'name',default=>$file1,-size=>11),a, "FileName",textfield(-name=>'filename',default=>$file1,-size=>15),a, "Green",textfield(-name=>'green',default=>'',-size=>10),a, "Red",textfield(-name=>'red',default=>'',-size=>10),a, "Target",textfield(-name=>'target',-default=>$anz, size=>3),p, } } print submit("submit","Test");if(defined("$submit")&&$submit eq "Test"){ if (param()){ &target(@richtig); } } sub target() { my @names = @_; my $anz=0; open(FH,">/tmp/upload/target.txt"); open(FH,">>/tmp/upload/target.txt") or die ("can not open target file\n"); foreach my $i (@names){ $anz++; print FH "$anz\t$i\t$i\t" . param('green') . "\t" . param('red') . "\t$anz\n"; print "$anz\t$i\t$i\t" . param('green') . "\t" . param('red') . "\t$anz\n"; } } close FH; end_form;
Datum: 24.01.2007-09:59

|
re: Eingaben in eine Textdatei schreiben
|
Seitenanfang |
Sicher, dass das chdir() mit ausgegeben werden soll ? Möchtest du nicht auch lexikalische Filehandles benutzen ( zB $fhDIR ) ?Und dein Fehler liegt wohl hier:
if($file1=~/$gal(.+)\.gpr/){Diese Regexp ist zu gierig, das sollte wohl eher so aussehen:
if ($file1 =~ /^$gal(.+?)\.gpr$/) { - mike
Datum: 08.04.2007-19:40

|
|

|

|

|
 |

|

|
|