msdoc - Greple module for access MS office docx/pptx/xlsx documents


Version 1.04


greple -Mmsdoc


This module makes it possible to search string in Microsoft docx/pptx/xlsx file.

Microsoft document consists of multiple files archived in zip format. String information is stored in "word/document.xml", "ppt/slides/*.xml" or "xl/sharedStrings.xml". This module extracts these data and replaces the search target.

By default, text part from XML data is extracted. This process is done by very simple method and may include redundant information.

Strings are simply connected into paragraph for .docx and .pptx document. For .xlsx document, single space is inserted between them. Use --separator option to change this behavior.

After every paragraph, single newline is inserted for .pptx and .xlsx file, and double newlines for .docx file. Use --space option to change.


  • --dump

    Simply print all converted data. Additional pattern can be specified, and they will be highlighted inside whole text.

    $ greple -Mmsdoc --dump -e foo -e bar buz.docx
  • --space=n

    Specify number of newlines inserted after every paragraph. Any non-negative integer is allowed including zero.

  • --separator=string

    Specify the separator string placed between each component strings.

  • --indent

    Extract indented XML document, not a plain text.

  • --indent-mark=string

    Set indentation string. Default is |.


cpanm App::Greple::msdoc



Kazumasa Utashiro


Copyright 2018-2020 Kazumasa Utashiro.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.