note
sandfly
$database is a Win32::OLE object. $viewname is a string. The GetViews sub is expecting an object.<p>
The Win32::OLE objects all seem to work the same way - they are hash references. Methods are implemented as perl methods, and properties are implemented as hash elements.<p>
If you look at the GetViews sub in the sample script, you'll see it expects its parameter to be a hash reference (really, an OLE object) containing a Views key (i.e. property), and the value is an array reference to a list of hash references (Notes View objects). Each of these has a Name key (property) with a string value. The sub returns this list of strings<p>
So by passing the folder string to GetViews, you're asking it to do "folder"->{Views}. This is the error.<p>
I don't know the Notes object model, but I suggest you modify GetViews so it returns the view objects themselves, instead of the names. It's quite likely you will be able to call back into GetViews with a view object as a parameter.<p>
On a general note, the ActiveState distribution contains a very useful OLE browser, which lists the the OLE APIs on your PC, and the objects, properties, methods and events they implement.
430250
430250