Каковы ограничения в Perl для codepad.org? - PullRequest
3 голосов
/ 13 апреля 2010

Иногда я вижу, что люди используют http://codepad.org как способ быстрого запуска / тестирования своих фрагментов Perl (он поддерживает это на самых разных языках, от C до Scheme и Perl).

Совершенно очевидно, что должны быть некоторые ограничения в отношении того, какой код / ​​функции можно тестировать с помощью кодовой панели - кто-нибудь знает, каковы эти ограничения для Perl runner?

Я поймаю мяч на свои собственные наблюдения: не каждый модуль CPAN доступен: (

Ответы [ 2 ]

9 голосов
/ 13 апреля 2010

В основном на основе их страницы "about":

  • кодовая панель поддерживает только Perl 5.8.0

  • Предположительно, как и любая установка Perl, присутствует не каждый модуль (CPAN или другой).

    • В качестве конкретного примера, List :: MoreUtils отсутствует.

    • Как ограничение, они, похоже, работают в Linux. Так что любые специфичные для Windows модули наверняка будут отсутствовать.

    • Он находится в изолированной тюрьме с ограничениями системных вызовов. Среди прочего, это, кажется, препятствует созданию файлов (мои фрагменты создают файлы в текущем каталоге или /tmp, оба с ошибками, а также вызовы File :: Temp)

  • код кодовой панели выполняется на виртуальной машине. За брандмауэрами. И похоронен в бункере. Таким образом, определенная функциональность, вероятно, отключена, особенно сетевая / интернет-связь. Точная цитата "о":

    • Процессы супервизора выполняются на виртуальных машинах, которые защищены брандмауэром и не способны устанавливать исходящие соединения.

    • Машины, на которых работают виртуальные машины, также сильно защищены брандмауэром и периодически восстанавливаются из их исходных образов.

3 голосов
/ 13 апреля 2010

Проще просто запустить Perl-код локально. Легко установить несколько версий Perl и отслеживать отдельные репозитории модулей. Также нетрудно запустить практически любую операционную систему, которую вы хотите на виртуальной машине. Почему вам нужно чье-то чужое служение, чтобы делать то, что вы можете сделать лучше сами, вне меня.

...