Documents done at Microsoft Windows Systems are tending to be stored in a persistant data format, that MS calls "Structured Storage". OLE::Storage is a Perl module that gives access to Structured Storage files.
Alas, the current release allows more or less read access, only. You can modify document contents (streams) with it, but you cannot create or delete streams, nor rename them or change their size. Also a file locking mechanism still is missing. I hope to offer write support with next release.
$Var = OLE::Storage->NewVar (); $Startup = new Startup;
$Doc = OLE::Storage->open ($Startup, $Var, $file [,$m, \$buf])
$Doc -> directory ($pps, \%Names, "string")
$Doc -> read ($pps, \$buf [,$offset, $size])
$Doc -> close ()
Detailed syntax, descriptions and further methods: below.