Как скрыть исходный текст моей Perl-программы?
Удалить.:-) Серьезно, существует ряд (в основном неудовлетворительных) решений с различными уровнями «безопасности».
Прежде всего, однако, вы не можете отозвать разрешение на чтение, потому что исходный код долженбыть читаемым, чтобы быть скомпилированным и интерпретированным.(Это не означает, что источник сценария CGI может быть прочитан людьми в Интернете, но только людьми, имеющими доступ к файловой системе.) Поэтому вы должны оставить разрешения на уровне 0755, дружественном для общества.
Некоторые люди считают это проблемой безопасности.Если ваша программа делает небезопасные вещи и полагается на людей, не знающих, как использовать эти уязвимости, она не является безопасной.Часто кто-то может определить небезопасные вещи и использовать их, не просматривая источник.Безопасность через неясность, имя, скрывающее ваши ошибки вместо того, чтобы исправлять их, на самом деле мало защищает.
Вы можете попробовать использовать шифрование с помощью исходных фильтров (начиная с Perl 5.8 Filter :: Simple и Filter :: Util:: Модули вызова включены в стандартный дистрибутив), но любой приличный программист сможет его расшифровать.Вы можете попробовать использовать компилятор и интерпретатор байт-кода, описанный ниже в perlfaq3, но любопытный может все же его декомпилировать.Вы можете попробовать использовать компилятор нативного кода, описанный ниже, но взломщики могут его разобрать.Они создают различные степени сложности для людей, желающих получить ваш код, но никто не может окончательно его скрыть (верно для каждого языка, не только для Perl).
Очень легко восстановить источник программ на Perl.Вы просто передаёте программу интерпретатору perl и используете модули в иерархии B ::.Модуль B :: Deparse должен быть в состоянии победить большинство попыток скрыть источник.Опять же, это не уникально для Perl.
Если вы беспокоитесь о людях, получающих выгоду от вашего кода, то суть в том, что только ограничительная лицензия обеспечит вам юридическую защиту.Лицензируйте свое программное обеспечение и сопровождайте его такими угрожающими заявлениями, как «Это неопубликованное проприетарное программное обеспечение XYZ Corp. Ваш доступ к нему не дает вам разрешения использовать его, бла-бла-бла».Разумеется, мы не юристы, поэтому вам следует обратиться к юристу, если вы хотите быть уверены, что формулировка вашей лицензии будет подтверждена в суде.