Author image Masatoshi Mizuno
and 1 contributors


Authen::Quiz::Plugin::JS - JAVA script making of setting Authen::Quiz.


  use Authen::Quiz::FW qw/ JS /;
  my $q= Authen::Quiz::FW->new( data_folder => '/path/to/authen_quiz' );
  my $js_source= $q->question2js('boxid');
  ## And, it buries it under the HTML source. ( For the Mason template. )
  <form method="POST" action=".....">
  <input type="hidden" name="quiz_session" value="<% $q->session_id %>" />
  <div>* quiz attestation.</div>
  <div id="boxid">...</div>
  <input type="text" name="answer" ..... />
  <script type="text/javascript"><!-- //
  <% $js_source %>
  // --></script>


After all, the thing that the spammer analyzes it even if it drinks and setting questions obtained by Jo and Authen::Quiz is buried under HTML simply might be not difficult the easy specification of the answer.

This module is made easy not to be analyzed by burying the setting questions under the code of the JAVA script.

The method of this module is called reading by way of Authen::Quiz::FW to use it and setting questions is acquired.

Then, if it is buried under the HTML source, it is completion because the code of the JAVA script returns.

* Because the SCRIPT tag is not contained in the output code, it is necessary to write it in independence.


question2js ([ELEMENT_ID], [SEPARATOR])

The question method is called internally, the setting questions is buried under the code of the JAVA script, and it returns it.

ELEMENT_ID is burial previous element ID.

SEPARATOR is a character to make setting questions divide into parts. Default is a blank.

In a word, data of setting questions should make it moderately make to dividing into parts beforehand with this separator.

  my $js_source= $q->$q->question2js('question_disp', ':');

question2js_multibyte ([ELEMENT_ID], [SEPARATOR])

When multi byte character is included in the problem data, URI is encoded though the done thing is quite the same as question2js.

* The JAVA script error occurs including the sign of ASKII. It is safe to make the problem data only from multi byte character.

  my $js_source= $q->$q->question2js('question_disp', '#');


Authen::Quiz, Authen::Quiz::FW, Jcode,,


Masatoshi Mizuno <>


Copyright (C) 2008 by Bee Flag, Corp. <>.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.8 or, at your option, any later version of Perl 5 you may have available.