OnlineJudge-Progra version 0.021 =============================== Progra is an online judge capable of compile and test programs written to solve a programming task. Requisites: * Linux * Perl 5 (see extra modules below) * diff Obviously, you'll 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 forth. 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 DEPENDENCIES This module requires: Cwd Proc::Killall File::Spec::Functions File::Copy COPYRIGHT AND LICENSE 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/