Если вы планируете перенаправить на целевые сценарии, к которым относится группа authorize.pl, не имеет значения, сценарии должны выполняться пользователем веб-сервера.
Почему вы хотите сделать это на уровне ОС? Использование обычной старой авторизации на основе сеансов, когда проверка выполняется в каждом сценарии, является стандартной практикой.
Вместо того, чтобы вызывать authorize.pl и перенаправлять на цель, создайте модуль с именем Authorization.pm и используйте его в каждом скрипте, сначала вызывая функцию проверки. Эта функция перенаправляет на страницу входа (или выполняет другое соответствующее действие), если отсутствуют надлежащие учетные данные.
Что-то вроде
use Authorize qw{validate}; #Your module
use CGI::Session;
use strict;
use warnings;
my $sess = new CGI::Session();
validate($sess->param('user_token'));
#Unreachable code if session is empty or invalid
#Rest of the code ...