Schrift
[thread]6770[/thread]

array daten in file schreiben: geschrieben wird leider nur die 1 zeile (Seite 2)

Leser: 1


<< |< 1 2 >| >> 16 Einträge, 2 Seiten
pq
 2005-03-09 21:17
#52453 #52453
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
[quote=Rambo,09.03.2005, 18:28]werde mal schauen wie ich ein test script mache und
das dann hier mal posten damit es andere evtl. testen können[/quote]
der einfachheit halber könntest du mein beispiel nehmen und es bei dir
laufen lassen. oder was hält dich davon ab?
bei 5.8.6, linux, ist übrigens auch alles ok.
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
Rambo
 2005-03-09 22:18
#52454 #52454
User since
2003-08-14
803 Artikel
BenutzerIn

user image
habe deins probiert das geht aber deins hat auch nur eine zeile.
ich habe jetzt mal ein test script gemacht
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
use strict;
use warnings;

my $cli = 'file.txt';
open (FILE,"<$cli") or die $!;
while (my $cli_str = <FILE>)
{
my @cli_str = ("$cli_str");
&next(@cli_str);
}
close FILE;

sub next
{
my (@cli_str) = @_;
print @cli_str;
open (IN, ">data.txt") or die $!;
print IN @cli_str;
close IN;
}

wenn man jetzt eine date erstellt file.txt
und dort z.B mal ein dir list rein schreibt wie
Dokumente und Einstellungen
Programme
TEMP
TEST
Util
Win32app
WINNT
dann passiert genau das was ich momentan als problem habe
wichtig ist wohl das es mehere zeilen sein müssen
das print @cli_str; in der sub next zeigt alle daten
aber in der data.txt steht nur eine zeile drin. :-(

danke das du / ihr mir helft sonst hätte ich hier aufgegeben!
pq
 2005-03-09 23:07
#52455 #52455
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
na also, doch kein bug. du übergibst ja der sub next immer nur einen
eintrag. nd für jeden eintrag öffnest du die datei neu (und löschst mit
">data.txt" den alten inhalt). davon abgesehen, dass sich dein problem
wohl mit ">>data.txt" lösen lässt, ist das vorgehen doch recht ineffizient.
warum willst du die datei immer aufs neue öffnen?
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
renee
 2005-03-09 23:14
#52456 #52456
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Du löscht ja immer wieder die Datei...
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
use strict;
use warnings;

my $cli = 'file.txt';
open (FILE,"<$cli") or die $!;
while (my $cli_str = <FILE>)
{
my @cli_str = ("$cli_str");
&next(@cli_str);
}
close FILE;

sub next
{
my (@cli_str) = @_;
print @cli_str;
open (IN, ">>data.txt") or die $!;
print IN @cli_str;
close IN;
}


Dann funktioniert's auch mit dem Nachbarn ...ääähhh... mit dre Datei...
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/
pq
 2005-03-09 23:20
#52457 #52457
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
oder so, das ist effizienter:
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
use strict;
use warnings;
my $cli = 'file.txt';
open (FILE,"<$cli") or die $!;
while (my $cli_str = <FILE>) {
 nextline($cli_str);
}
closefh();
close FILE;
{
 my $fh;
 sub nextline {
   my (@cli_str) = @_;
   print @cli_str;
   unless ($fh && defined fileno $fh) {
     open $fh, ">data.txt" or die $!;
   }
   print $fh @cli_str;
 }
 sub closefh {
   close $fh;
   undef $fh;
 }
}
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
Rambo
 2005-03-11 16:46
#52458 #52458
User since
2003-08-14
803 Artikel
BenutzerIn

user image
sorry konnte mich erst jetzt melden,
vielen dank euch zwei habe es jetzt eingebaut seltsamer
weise hatt ich das mit den >> auch bei mir drin aber es gab dann
eine eindlosschleife aber das habe ich auch hin bekommen
muste nur noch ein exit rein schreiben :-)
noch mals vielen vielen dank!

fürti rambo
<< |< 1 2 >| >> 16 Einträge, 2 Seiten



View all threads created 2005-03-09 00:21.