I'm trying to use the Perl Tk module to display data from an existing program. I've been able to call a Perl function from C and pass scalar and string data correctly, but I'm having problems with passing arrays by reference and with linking in the Tk and Class::Struct modules.

Maybe I'm wrong, but it seems easier (and more correct) to have the GUI program do one of the following: (1) Call C library functions directly, (2) Parse the output of the C program, or (3) Use IPC through pipes, sockets, memmap'd files, etc.

This would leave your code a lot cleaner than tieing Perl and C together the hard way. If you have a C library you want to use and can tolerate having compilers required, Inline::C (which I've only just started to play with) is a joy to use...either way, it seems to make more sense (to me) to put the higher level language (in this case, Perl) on the top of the software stack and let it call the C, rather than the other way around.


In reply to Re: Interfacing a C program with Perl functions and modules by flyingmoose
in thread Interfacing a C program with Perl functions and modules by Anonymous Monk

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.