I have a Perl module which uses the Win32::OLE modules to implement a Perl interface to the OLE for Process Control COM interface. This module is currently available from the OPC Programmers Connection site at http://www.opc.dial.pipex.com/tooltech.shtml#perl I am not sure how many people have downloaded this, but I have received a request to put this module on CPAN to make it easier for the Perl community to find. Therefore I am asking for access to PAUSE and these are the required details: Name: Martin Tomes Email address: [EMAIL PROTECTED] user-ID on CPAN: MARTINTO Contributed Module: Win32::OLE::OPC - OPC Server Interface SYNOPSIS Two ways of using the OPC interface are provided, the class methods: use Win32::OLE::OPC; my $opcintf = Win32::OLE::OPC->new('Someones.OPCAutomation', 'Someones.Server'); $opcintf->MoveToRoot; foreach $item ($opcintf->Leafs) { print $item->{name}, "\n"; my %result = $opcintf->ItemData($item->{itemid}); for $attrib (keys %result) { print " [", $attrib, " = '", $result{$attrib}, "']", "\n"; } print "\n"; } foreach $item ($opcintf->Branches) { print $item->{name}, "\n"; } or a tied hash: use Win32::OLE::OPC; my %OPC; tie %OPC, Win32::OLE::OPC, 'Someones.OPCAutomation', 'Someones.Server'; # OK, list the keys... for $key (keys %OPC) { my %x = %{$OPC{$key}}; print $key, "\n"; for $attrib (keys %x) { print " '", $attrib, "' = '", $x{$attrib}, "'", "\n"; } print "\n"; } The tied hash method has to return a reference to a hash containing the item data hence the unpleasant code '`%x = %{$OPC{$key}}''. Alternatively one can assign the returned value into a scalar and dereference it when using the hash like this '`keys %$x'' and '`$result->{$item}''. Note that both methods can be used together. First create an interface using the `new()' method and then tie it like this: tie %OPC, $opcintf, 'Someones.OPCAutomation', 'Someones.Server'; Module Listing: (argh!! the name is two chars too long.) Name DSLI Description Info ------------- ---- -------------------------------------------- ----- Win32::OLE::OPC RdpO Ole for Process Control Server Interface MARTINTO I would like advice on the namespace. This is a COM interface and it is therefore logical to put it in the Win32::OLE space, but that is owned and run from ActiveState (I think). Is it Bad Form(tm) to put a module in someone elses space? The only realistic alternative is Win32::OPC which would be OK if a little less accurate. -- Regards, Martin Tomes [EMAIL PROTECTED]