Строки 41-45. Определение типа MIME и размера документа. Следующая часть этой подпрограммы позволяет определить тип MIME затребованного документа. В настоящем Web-броузере может быть предусмотрена длинная поисковая таблица с расширениями файлов. В данном модуле предусматривается только распознавание файлов HTML, GIF и JPG, а остальные типы сайтов по умолчанию используют text/plain.
Теперь в этой подпрограмме выполняется выборка значения размера затребованного файла в байтах путем вызова функции stat (). Интерпретатор Perl уже сам выполнил вызов функщя stat () при обработке оператора -d, поэтому нет смысла его повторять. Общая схема вызова stat () позволяет выбрать информацию состояния, записанную в буфер после предыдущего вызова, и сэкономить немного процессорного времени. Файл может отсутствовав в файловой системе; в таком случае функция stat () возвращает значение undef.
Строки 46-48. Открытие документа. Последнее действие состоит в открытии файла пути вызова метода IO::File->new(). В данном случае нужно учесть, что удаленный пользователь может включить в URL метасимволы командного интерпретатора (такие, как V, поэтому вместо вызова метода new () с одним параметром, который предусматривает отдачу метасимволов командному интерпретатору для обработки, он вызывается с двумя параметрами: именем файла и режимом файла (в данном случае с режимом который обозначает чтение). Это позволяет предотвратить обработку метасимволов и, тем самым, исключить неосторожный запуск подпроцесса или затирание файла, если был получен злонамеренно сконструированный URL.