04. april 2003 - 11:47Der er
12 kommentarer og 1 løsning
Komme ud af en while (<>) { ... }
Hvordan kommer jeg ud af en while løkke? jeg har en følgende kode:
while (<>) { $request = $request."/".sprintf("%1x", $DocumentID); print($request."\n"); $response = do_request($request); if ($response =~ m/^5/) { # Vil gerne ud af denne while løkke! } else { if ($response !~ m/404/) { # If the response is a 404 then the doc has been deleted push(@RESULTS, "+ $response for $request"); } else { push(@RESULTS, "The file: $request has been deleted"); } } $DocumentID += 4; }
brug kommandoen "last" til at bryde helt ud af dit loop, på samme måde som du ville bruge "next" til at bryde den igangværende iteration af loopet.
while (<>) { $request = $request."/".sprintf("%1x", $DocumentID); print($request."\n"); $response = do_request($request); if ($response =~ m/^5/) { last; } else { if ($response !~ m/404/) { # If the response is a 404 then the doc has been deleted push(@RESULTS, "+ $response for $request"); } else { push(@RESULTS, "The file: $request has been deleted"); } } $DocumentID += 4; }
<> venter selvfølgelig på input fra STDIN.. det er bare ikke noget at vente på. Hvordan ser sådan en ud? Jeg skal bare har en uendelig, som ikke venter noget input.
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.