```{index} single: fetch (Peta::FFI) ``` ```{index} single: Peta::FFI::fetch ``` # fetch Read the value of a type at an address. ## Synopsis ```perl my $n = Peta::FFI::fetch($ptr, "i32"); my $xy = Peta::FFI::fetch($ptr, "d[2]"); # [1.5, -2] my $pt = Peta::FFI::fetch($ptr, "{My::Point}"); # a My::Point copy ``` What `call` would return for that type, read from the memory at `$addr`: the numbers, `b`, `o` (`0` for `NULL`), `D` as a float, `cf`/`cd` as `[re, im]`, `p` - the C string the `char *` there points to, `T[N]` as an array reference and `{Class}` as a record. Reading memory the process does not own is undefined behaviour.