Thread Anfängerproblem Inhalt vergleichen in Arrays (4 answers)
Opened by Devron at 2010-06-30 16:17

pq
 2010-06-30 16:26
#139240 #139240
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
benutze bitte in zukunft perl- oder code-tags anstatt [i].

möchte einen ausschnitt komentieren:
Code (perl): (dl )
1
2
3
my $rw1 = open(FILE,"Datei1.dat");      # Die Datei1.dat wird geöffnet
my @Datei1 = <FILE>;                    # Der Inhalt der Datei wird in das Array @Datei1 geschieben
close(FILE);


du prüfst nicht den erfolg des opens. open könnte hier also fehlschlagen und das programm würde trotzdem weiterlaufen.

ausserdem sind lexikalische filehandles moderner und haben vorteile:
Wiki:WasIsteinLexikalischerFileHandle

die 3-argument-forum von open ist heutzutage ebenfalls vorzuziehen.

das ganze sieht dann so aus:
Code (perl): (dl )
1
2
3
open my $file, "<", "Datei1.dat" or die $!;
my @Datei1 = <$file>;
close $file;


dann möchte ich den vergleich der strings kommentieren. du schreibst:
if ('$string1' eq '$string2') { 

hier vergleichst du mit single quotes? warum vergleichst du nicht so:
if ($string1 eq $string2) { 

du willst doch sicher den inhalt der strings vergleichen und nicht prüfen, ob dollar-string1 gleich dollar-string2 ist? (was *immer* falsch ist).


Quote
Wie kann es jetzt sein das das Skript das das der Inhalt nicht gleich ist ;(

ich verstehe diesen satz nicht.
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

View full thread Anfängerproblem Inhalt vergleichen in Arrays