Last night I set about writing a Perl script that would read a Microsoft Project plan and emit an HTML summary of some key info (e.g., who's doing what right now, and which tasks are late1). Later that night, after beating my head against what little MS Project object model documentation I could lay my hands on, I chanced to stumble across something really neat.

In the ActiveState HTML-based on-line documentation, there's a link for Win32::OLE::Browser. I'd never had any reason to try it before, and hadn't noticed anyone else mention that it was interesting. On a desparate whim, I tried it.


The Win32::OLE::Browser page is an OLE Type Library browser. Using PerlScript, that page provides a view of all of the OLE type libraries on a machine, and lets you poke around to see what COM objects they define, and what their public interfaces are. And, if you have the help files for the type libraries installed (e.g., from some SDK), the page also provides an icon that'll launch Microsoft's help viewer and take you right to the section that describes the selected Object, method, or property.

I was in heaven (aside from being in MS hell). In an hour, the problem was all sorted out, saving untold head-banged. Thank you, ActiveState.

The meditation here, such as it is, is that in the Perl world there are some amazing gems that are sometimes lurking right under our noses. Taking the time to stop and look around, be that examining all of the packages in the standard distribution, or looking at the extras that ActiveState ships, can pay huge dividends.

1 I'm a pointy-haired manager now, and need to know these things for accurate minion whipping.

In reply to Win32::OLE Type Library Browser by dws

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, 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, 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.