syscall
syscall - execute an arbitrary system call
syscall LIST
Calls the system call specified as the first element of the list,
passing the remaining elements as arguments to the system call. If
unimplemented, produces a fatal error. The arguments are interpreted
as follows: if a given argument is numeric, the argument is passed as
an int. If not, the pointer to the string value is passed. You are
responsible to make sure a string is pre-extended long enough to
receive any result that might be written into a string. If your
integer arguments are not literals and have never been interpreted in a
numeric context, you may need to add 0 to them to force them to look
like numbers.
require 'syscall.ph'; # may need to run h2ph
syscall(&SYS_write, fileno(STDOUT), "hi there\n", 9);
Note that Perl only supports passing of up to 14 arguments to your system call,
which in practice should usually suffice.