Я работаю в проекте, использующем сценарии Perl на машинах, которые обслуживаются системными пользователями, и установка пакетов, таких как модули Perl, не простая задача - обычно для этого нужно вызвать человека с разрешениями, подождать несколько дней изучите API пакета, а затем не забудьте установить его на каждую вновь настроенную машину, когда-либо установленную.
Альтернатива, которая выбирается много раз, - это просто вызвать system()
(или обратная нотация ``
внутри Perl) и использовать вывод команды оболочки, которая делает то, что вы хотите. Конечно, это не всегда возможно, и когда оно используется, обычно есть обертка вокруг вызова команды, но обычно это проще.
Мой вопрос: когда, по вашему опыту, компромисс тянет в любую сторону?
Редактировать: добавить пример:
Я хочу напечатать общий размер каталога в удобочитаемом формате или перечислить все обычные файлы, размер которых превышает определенный размер, и du
, кажется, делает это проще, чем установка модулей, которые делают то же самое ...