in reply to use ftok to access shared memory

You may be interested in this thread which uses ftok from the module IPC::SysV.

As your code stands it can not possibly work - function calls don't interpolate. open( F, "./ftok $file_shmem 1 |" ); will attempt to open a file called "./ftok /tmp/IPC/shared_memory1 1 |", which is probably not what you expect.


DWIM is Perl's answer to Gödel

Replies are listed 'Best First'.
Re^2: use ftok to access shared memory
by polettix (Vicar) on Feb 15, 2006 at 10:04 UTC
    The OP is using the pipe variant of open(). I presume that ./ftok is a C program that reads (via key_t ftok(const char *pathname, int proj_id);) the shared memory for pathname /tmp/ICP/shared_memory and proj_id 1, sending stuff on STDOUT.

    Flavio
    perl -ple'$_=reverse' <<<ti.xittelop@oivalf

    Don't fool yourself.
      It is as you guess.

      enzo@P0101222 shared_memory$ ./ftok /prd/b_BCM/dat/IPC/shared_memory1 1

      101a3ce

      I read the value 101a3ce from the stdout

      But I'm looking for a better solution