The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Linux::Perl - Linux system calls with pure Perl

SYNOPSIS

    my $efd = Linux::Perl::eventfd->new();

    #...or, if you know your architecture:
    my $efd = Linux::Perl::eventfd::x86_64->new();

DESCRIPTION

In memory-sensitive environments it is useful to minimize the number of XS modules that Perl loads. Oftentimes the CPAN modules that implement support for various Linux system calls, though, will bring in XS for the sake of writing platform-neutral code.

Linux::Perl accommodates use cases where platform neutrality is less of a concern than minimizing memory usage.

MODULES

Each family of system calls lives in its own namespace under Linux::Perl:

The distribution contains a number of other modules, none of which is intended for outside use.

PLATFORM-SPECIFIC INVOCATION

Each Linux::Perl system call implementation can be called with a platform-neutral syntax as well as with a platform-specific one:

    my $efd = Linux::Perl::eventfd->new();

    my $efd = Linux::Perl::eventfd::x86_64->new();

The platform-specific call is a bit lighter because it avoids loading Config to determine the current platform.

PLATFORM SUPPORT

The following platforms are supported:

  • x86_64 (i.e., 64-bit Intel/AMD)

    This is probably the only platform that will foreseeably receive substantial testing during development.

  • i386 (32-bit Intel/AMD)

Support for adding new platforms is usually trivial; just send a pull request.

REPOSITORY

https://github.com/FGasper/p5-Linux-Perl

AUTHOR

Felipe Gasper (FELIPE)

COPYRIGHT

Copyright 2018 by Gasper Software Consulting

LICENSE

This distribution is released under the same license as Perl.