How to select 10 questions out of 20 in an array

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Donnie Archer

    How to select 10 questions out of 20 in an array

    How to select 10 questions out of 20 in an array and i only want each question once

    i have
    Code:
    sub BuildFeedbackPage{
      my @questions = &Questions(10);
      print hr, $1, br;
      print radio_group(-name=>'question1', -values=>['very bad', 'bad', 'average', 'good', 'very good'], -default=>'average', -linebreak=>'true', -labels=>\%labels); #radiobuttons group 1 - 5
      print hr, $2, br;
      print radio_group(-name=>'question2', -values=>['very bad', 'bad', 'average', 'good', 'very good'], -default=>'average', -linebreak=>'true', -labels=>\%labels);  #radiobuttons group 1 - 5
      print hr, $3, br;
      print radio_group(-name=>'question3', -values=>['very bad', 'bad', 'average', 'good', 'very good'], -default=>'average', -linebreak=>'true', -labels=>\%labels);  #radiobuttons group 1 - 5
      print hr, $4, br;
      print radio_group(-name=>'question4', -values=>['very bad', 'bad', 'average', 'good', 'very good'], -default=>'average', -linebreak=>'true', -labels=>\%labels);  #radiobuttons group 1 - 5
      print hr, $5, br;
      print radio_group(-name=>'question5', -values=>['very bad', 'bad', 'average', 'good', 'very good'], -default=>'average', -linebreak=>'true', -labels=>\%labels);  #radiobuttons group 1 - 5
      print hr, $6, br;
      print radio_group(-name=>'question6', -values=>['very bad', 'bad', 'average', 'good', 'very good'], -default=>'average', -linebreak=>'true', -labels=>\%labels);  #radiobuttons group 1 - 5
      print hr, $7, br;
      print radio_group(-name=>'question7', -values=>['very bad', 'bad', 'average', 'good', 'very good'], -default=>'average', -linebreak=>'true', -labels=>\%labels);  #radiobuttons group 1 - 5
      print hr, $8, br;
      print radio_group(-name=>'question8', -values=>['very bad', 'bad', 'average', 'good', 'very good'], -default=>'average', -linebreak=>'true', -labels=>\%labels);  #radiobuttons group 1 - 5
      print hr, $9, br;
      print radio_group(-name=>'question9', -values=>['very bad', 'bad', 'average', 'good', 'very good'], -default=>'average', -linebreak=>'true', -labels=>\%labels);  #radiobuttons group 1 - 5
      print hr, $10, br;
      print radio_group(-name=>'question10', -values=>['very bad', 'bad', 'average', 'good', 'very good'], -default=>'average', -linebreak=>'true', -labels=>\%labels);  #radiobuttons group 1 - 5
      print hr, &MakeSubmitButton('Finished');
    }
    sub Questions{
      my $1 = '';
      my $2 = '';
      my $3 = '';
      my $4 = '';
      my $5 = '';
      my $6 = '';
      my $7 = '';
      my $8 = '';
      my $9 = '';
      my $10 = '';
      my $11 = '';
      my $12 = '';
      my $13 = '';
      my $14 = '';
      my $15 = '';
      my $16 = '';
      my $17 = '';
      my $18 = '';
      my $19 = '';
      my $20 = '';
      
      my @questions = '$1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17, $18, $19, $20';
      for(my $i=0; i<10; i++)
      {
        if(
    	my @return += int(rand(@questions));
    	
      }
      return @return;
    }
    sub GetRating{
      my $0 = shift;
      my $1 = shift;
      my $2 = shift;
      my $3 = shift;
      my $4 = shift;
      my $5 = shift;
      my $6 = shift;
      my $7 = shift;
      my $8 = shift;
      my $9 = shift;
      my $rating = ((($0 + $1 + $2 + $3 + $4 + $5 + $6 + $7 + $8 + $9) * 2) / 10);
      return $rating;
    }
    sub StoreRatingToFile{
      my $rating = GetRating(param('question1'), param('question2'), param('question3'), param('question4'), param('question5'), param('question6'), param('question7'), param('question8'), param('question9'), param('question10'));
      my $email = #hidden textfield containing email address from log in
      open(OUTFILE, ">>", "$outfile");
      print OUTFILE "$rating : $email";
      close OUTFILE;
    }
    Last edited by MMcCarthy; Nov 25 '10, 05:58 PM. Reason: edited title
  • chorny
    Recognized Expert New Member
    • Jan 2008
    • 80

    #2
    10 random entries? Use shuffle from List::Util and then select first 10.

    Comment

    Working...