OnlineJudge-Progra version 0.023
================================

Progra is an online judge capable of compile and test programs
written to solve a programming task.


PREREQUISITES

 Cwd
 Proc::Killall
 File::Spec::Functions
 File::Copy

Obviously, you will need the compilers and/or interpreters of the
languages you'll use (e.g. gcc, perl, g++). The main path structure
needed to use progra is as follows:

  - user_path/
  - task_path/
               - input.0
               - input.1
               ...
               - input.n-1
               - output.0
               - output.1
               ...
               - output.n-1

The user_path and task_path must uniquely identify a user/task. The
user_path is used to store the output generated by the user's source
code. The task_path is used to store task's testcases. These testcases
must be consistent, meaning that there must be exactly the same number
of inputs and outputs. The naming of testcases is input./output. followed
by a number from 0 to n-1, n being the total number of testcases for
that particular task. The mapping between input and output is given by
this number. For example, input.0 is associated with output.0, input.1
with output.1 and so on.

Once progra starts, it creates a .pid file in its home directory. To stop
it you should delete this file. There is a progra.sh file included in
case you need to automate this.

Finally, remember thar source codes to be tested must interact with
standard input and standard ouput.

For more information look at the POD in Progra.pm.


INSTALLATION

To install this module type the following:

  perl Makefile.PL
  make
  make test
  make install


AVAILABILITY

The latest version of progra is available from CPAN:

  http://search.cpan.org/dist/OnlineJudge-Progra/

You can also browse the git repository at:

  https://github.com/ileiva/onlinejudge-progra.git



AUTHOR

israel leiva <ilv AT cpan DOT org>


COPYRIGHT AND LICENSE

Copyright (c) 2011-2014 israel leiva

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

http://www.gnu.org/licenses/