hej, jeg har et program med en fil der indeholder navne. Når brugeren indtaster et navn på skærmen, tjekker programmet om navnet findes i filen og uskriver et svar. Jeg vil gerne lave programmet om så den læser input fra en fil - linie for linie - og tjekker det men filen med navne for at finde et match. Mit program ser således ud: #!/usr/bin/perl use strict; use FileHandle;
my $filename = "file.txt"; my $outfile = "godkendtnavn.txt";
my $ind = new FileHandle ("< $filename"); my $ud = new FileHandle ("> $outfile");
my $found = 0;
print "indtast navn:"; my $navn; chomp($navn=<STDIN>);
while (<$ind>) { chomp; if ($navn eq $_) { $found = 1; } }
Jeg fik ikke hele programmet med. Her er det: #!/usr/bin/perl use strict; use FileHandle;
my $filename = "file.txt"; my $outfile = "godkendtnavn.txt";
my $ind = new FileHandle ("< $filename"); my $ud = new FileHandle ("> $outfile");
my $found = 0;
print "indtast navn:"; my $navn; chomp($navn=<STDIN>);
while (<$ind>) { chomp; if ($navn eq $_) { $found = 1; } }
if ($found == 1) { print $ud "navnet $navn er et godkendt drengenavn \n"; print "navnet $navn er et godkendt drengenavn \n"; } else { print $ud "navnet $navn er ikke godkendt drengenavn\n"; print "navnet $navn er ikke et godkendt drengenavn\n"; }
'for' lykken undersøger alle linier i file.txt For hver linie grep'es i nameArray som indeholder alle godkendte navne. Hvad mener du med at filen ikke søges helt igennem og at rækkefølgen har nogen indflydelse?
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.