В наше время вопрос безопасности весьма актуален, особенно в области программирования CGI, так и при решении различного рода задач, напрямую касающихся с сетями и их программным обеспечением. Очень часто возникает необходимость в защите файлов и других ресурсов системы от потенциальной угрозы со стороны злоумышленников. Это важно для FTP- и -Web-серверов, подключенных к сети Internet, где пользователей стремящихся нанести вред системам масса. Одним из способов уберечь систему от атак является создание специальных шлюзов безопасности, которые пропускают все входные данные. В данном случае попасть в систему могут только те данные, которые будут отмечены шлюзовой программой как безопасные. Как правило многие серверы Internet написаны на языке программирования С и исполнены под систему UNIX.
Некорректное использование разработчиками указателей на языке С может привести к проблемам с безопасностью работы всей системы. Одним из преимуществ языка Perl является то, что переменные строкового типа могут изменять свою длину автоматическим образом в зависимости от потребностей. Все строковые переменные содержат ровно столько символов, сколько им присваивает сам скрипт. Perl не дает программам писать все данные в одну переменную таким способом, чтобы повредить целостности данных следующей переменной. Существует специальная версия Perl, носящая название taintperl. В этой спец. версии идет проверка зависимостей между массивами данных и не допускается выполнение системой команд по передаче данных от источника серверу, которые представляют потенциальную угрозу. Если данные, не заслуживающие доверия, поступают на вход, то программа taintperl, помечает все имеющиеся значения командной строки, входные данные и переменных окружения как некорректные или испорченные, таким образом предотвращает их передачу на сервер и возникновение ошибки.