• # Gestion de rupture ?

    Posté par . En réponse au message un petit challenge avec mes amies les regex ! (boucles de remplacement). Évalué à 2.

    J'ai du rater un truc, mais ne s'agit-il pas d'une gestion de rupture la plus simple existant ?
    Quand tu trouves une en-tête de page, tu réinitialises ton "compteur" de choix.

    Un exemple un peu crade en perl :

    #! /usr/bin/perl -w
    use strict;
    my $NumPage=0;
    my $NumChoice='A';
    my $Text='';
    while (<>)
    {
     chomp;
     if (/^== ([0-9]+) ==$/) # Page line
     {
     $NumPage=1ドル;
     $NumChoice='A'; # Reinitialize choice for new page
     $Text='';
     }
     elsif (/^$/) # Empty line
     {
     if ($Text ne '')
     {
     print "The Page${NumPage} is a page. \"${Text}\"\n";
     }
     print "\n";
     }
     elsif (/^- (.*) : ([0-9]+)$/) # Choice line
     {
     my ($ChoiceText,$TargetPage)=(1ドル,2ドル);
     print "A choice called Page${NumPage}Choice${NumChoice} is for Page${NumPage}. \"${ChoiceText}\" It triggers Page${TargetPage}\n";
     $NumChoice++;
     }
     else # Text line
     {
     $Text .= $_;
     }
    }