in reply to TAPI from Perl??

Win32::SerialPort is OO and not that bad to use. Have a look at the examples here. Of course you could always just write the required XS wrapper for the TAPI32.DLL. Win32::Internet is the wrapper for the WININET.DLL and should work as a template for what you need (it is part of libwin).

cheers

tachyon

Replies are listed 'Best First'.
Re: Re: TAPI from Perl??
by dpmott (Scribe) on Dec 01, 2003 at 05:42 UTC
    If you don't like writing XS, you might be able to get away with writing some wrappers with Win32::API module. It works like this:
    use Win32::API; my $function = Win32::API->new( 'mydll, 'int sum_integers(int a, int b)', ); my $return = $function->Call(3, 2); # or, if you don't like the ->Call() syntax: Win32::API->Import( 'mydll', 'int sum_integers(int a, int b)', ); $return = sum_integers(3, 2); # Works great for system DLLs, too: Win32::API->Import("kernel32", "int GetCurrentProcessId()"); my $PID = GetCurrentProcessId();
    There's even support for defining structures within your perl script, for use with the DLL's interface.

    If you only have a handful of functions to call, this may be the way to go for you. Assuming, of course, that you have access to the documentation for that particular DLL...

    :)