Schrift
[thread]7013[/thread]

Dateihandles



<< >> 10 Einträge, 1 Seite
xpaffx
 2005-05-26 12:37
#55125 #55125
User since
2005-05-11
9 Artikel
BenutzerIn
[default_avatar]
Hey Leute,

Problem: modifiziere eine Datei und speichere diese Änderungen auch.

Ich habe ein Dateihandle geöffnet( zum lesen ) , die Datei komplett ausgelesen , die/den String editiert , den Dateihandler wieder geschlossen. Danach dann einen neuen Handler mit gleichen Namen geöffnet und diesmal zum schreiben geöffnet. Habe den/die Strings versucht zu schreiben und dann wieder close und dann war das Script fertig.

Nur das ganze hat nicht geklappt, er hat zB. obwohl er die ganze Datei auslesen sollte nur die erste Zeile ausgelesen, oder auch bei Ausgabe des Dateiinhalts in der Konsole hat er eigentlich hätte die ganze Datei anzeigen müssen:

Code:
undef $/ und dann $str = <INF>

oder ich habe mit einer while <inf> die Zeile immer an einen anderen String rangehängt $str="$str$_" etc.

Kurz gesagt es ging nicht obwohl es hätte funktionieren MÜSSEN!!!
Dann habe ich es so gemacht und den zweiten Handler gleichzeitig geöffnet natürlich mit anderen Namen und auch anderem Dateinamen und siehe da, jetzt geht alles!!!

Wisst ihr woran das liegen könnte, ich mach noch nicht lange Perl aber was ich sagen muss, es verhält sich selten so wie man es erwartet!!!!
coax
 2005-05-26 12:43
#55126 #55126
User since
2003-08-11
457 Artikel
BenutzerIn
[default_avatar]
Kannst du mal das Problem in einen kurzen Script rekonstruieren und hier posten, ohne Code wird es schwierig zu sagen, was du falsch gemacht haben koenntest.
,,Das perlt aber heute wieder...'' -- Dittsche
Dubu
 2005-05-26 14:44
#55127 #55127
User since
2003-08-04
2145 Artikel
ModeratorIn + EditorIn

user image
Hast du Perl mit "use strict" und "use warnings" erlaubt, dir zu helfen?
pq
 2005-05-26 14:48
#55128 #55128
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
der fehler liegt vermutlich in zeile 42
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
J-jayz-Z
 2005-05-30 16:21
#55129 #55129
User since
2005-04-13
625 Artikel
BenutzerIn
[Homepage] [default_avatar]
Sicher, das das:
Code: (dl )
$str="$str$_"

so funktioniert?
Mach doch lieber
Code: (dl )
$str .= "$_"
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="5065726c2d436f6d6d756e697479"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'

http://perl-tutor.de
esskar
 2005-05-30 16:40
#55130 #55130
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
[quote=J-jayz-Z,30.05.2005, 14:21]so funktioniert?[/quote]
das geht schon!
renee
 2005-05-30 16:43
#55131 #55131
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Ja, das funktioniert im Prinzip schon...

Code: (dl )
$str .= "$_";

Man sieht es häufig, dass die " benutzt werden, obwohl es unnötig ist!
Also besser:
Code: (dl )
$str .= $_;
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/
J-jayz-Z
 2005-05-30 17:18
#55132 #55132
User since
2005-04-13
625 Artikel
BenutzerIn
[Homepage] [default_avatar]
Jo, das sind die kleinen Feinheiten, die ich aus "formalität" immer dazumach.
Auch bei Zahlen. Schlechte Angewohnheit...
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="5065726c2d436f6d6d756e697479"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'

http://perl-tutor.de
Crian
 2005-05-31 16:39
#55133 #55133
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
Jau, Perl != XHTML ;)
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
J-jayz-Z
 2005-06-01 13:40
#55134 #55134
User since
2005-04-13
625 Artikel
BenutzerIn
[Homepage] [default_avatar]
Ich lerns auch noch irgendwann :p
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="5065726c2d436f6d6d756e697479"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'

http://perl-tutor.de
<< >> 10 Einträge, 1 Seite



View all threads created 2005-05-26 12:37.