Perl permite isso com sua função syscall
:
$ perldoc -f syscall
syscall NUMBER, LIST
Calls the system call specified as the first element of the list,
passing the remaining elements as arguments to the system call. If
⋮
A documentação também dá um exemplo de chamada write (2):
require 'syscall.ph'; # may need to run h2ph
my $s = "hi there\n";
syscall(SYS_write(), fileno(STDOUT), $s, length $s);
Não é possível dizer que sempre usei esse recurso, no entanto. Bem, antes apenas agora para confirmar o exemplo realmente funciona.
Isso parece funcionar com getrandom
:
$ perl -E 'require "syscall.ph"; $v = " "x8; syscall(SYS_getrandom(), $v, length $v, 0); print $v' | xxd
00000000: 5790 8a6d 714f 8dbe W..mqO..
E se você não tiver getrandom no seu syscall.ph, poderá usar o número. É 318 na minha caixa de testes Debian (amd64). Tenha em atenção que os números syscall do Linux são específicos da arquitetura.