Самым чистым способом может быть помещение кода вашего кода в модуль и создание сценария для каждого интерфейса (CGI и командной строки).
Вы можете проверить наличие переменных среды CGI ($ENV{SERVER_PROTOCOL}
), чтобы увидеть, используется ли CGI, но это не получится, если скрипт используется как сценарий командной строки из другого скрипта CGI.
Если все, что вы хотите передать через @ARGV
, этоПомните, что CGI (модуль) проверит входные данные @ARGV
, если скрипт не вызывается как скрипт CGI.См. Раздел «ОТЛАДКА» в документации .