Search code examples
perlcodepad

What are codepad.org's Perl runner limitations?


Sometimes I see people use http://codepad.org as a way to quickly run/test their Perl snippets (it supports doing that with a wide variety of languages, from C to Scheme to Perl).

It's pretty obvious that there must be some limitations as to what code/features can be tested with codepad - does anyone know what those limitations are for Perl runner?

I'll get the ball rolling on my own observation: not every CPAN module is available :(


Solution

  • Mostly based on their "about" page:

    • codepad only supports Perl 5.8.0

    • Presumably, like any Perl install, not every module (CPAN or otherwise) is present.

      • As a specific example, List::MoreUtils is missing.

      • As a sub-limitation, they seem to run on Linux. So any Windows specific modules would certainly be out.

      • It's in a chroot jail with system calls restrictions. Among other things this seems to prevent file creation (my snippets creating files in a current directory or /tmp both errored out, as well as File::Temp calls)

    • codepad code is executed on a virtual machine. Behind firewalls. And buried in a bunker. So certain functionality is probably disabled - especially networking/internet one. The exact "about" quote is:

      • The supervisor processes run on virtual machines, which are firewalled such that they are incapable of making outgoing connections.

      • The machines that run the virtual machines are also heavily firewalled, and restored from their source images periodically.