<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<!--
This file was generated by Devel::Cover Version
Devel::Cover is copyright 2001-2012, Paul Johnson (paul@pjcj.net)
Devel::Cover is free. It is licensed under the same terms as Perl itself.
The latest version of Devel::Cover should be available from my homepage:
http://www.pjcj.net
-->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"></meta>
<meta http-equiv="Content-Language" content="en-us"></meta>
<link rel="stylesheet" type="text/css" href="cover.css"></link>
<script type="text/javascript" src="common.js"></script>
<script type="text/javascript" src="css.js"></script>
<script type="text/javascript" src="standardista-table-sorting.js"></script>
<title> Coverage Summary </title>
</head>
<body>
<h1> File Coverage </h1>
<table>
<tr>
<th colspan="4">t/PerlySense-Document-Meta-sub.t</th>
</tr>
<tr class="hblank"><td class="dblank"></td></tr>
<tr>
<th class="hh">Criterion</th>
<th class="hh">Covered</th>
<th class="hh">Total</th>
<th class="hh">%</th>
</tr>
<tr>
<td class="h">statement</td>
<td>61</td>
<td>61</td>
<td class="c3" title="61 / 61">
100.0
</td>
</tr>
<tr>
<td class="h">branch</td>
<td>1</td>
<td>2</td>
<td class="c0" title="1 / 2">
<a href="t-PerlySense-Document-Meta-sub-t--branch.html"> 50.0 </a>
</td>
</tr>
<tr>
<td class="h">condition</td>
<td></td>
<td></td>
<td title="">
n/a
</td>
</tr>
<tr>
<td class="h">subroutine</td>
<td>11</td>
<td>11</td>
<td class="c3" title="11 / 11">
<a href="t-PerlySense-Document-Meta-sub-t--subroutine.html"> 100.0 </a>
</td>
</tr>
<tr>
<td class="h">pod</td>
<td></td>
<td></td>
<td title="">
n/a
</td>
</tr>
<tr>
<td class="h">total</td>
<td>73</td>
<td>74</td>
<td class="c2" title="73 / 74">
98.6
</td>
</tr>
</table>
<div><br></br></div>
<table>
<tr>
<th> line </th>
<th> stmt </th>
<th> bran </th>
<th> cond </th>
<th> sub </th>
<th> pod </th>
<th> time </th>
<th> code </th>
</tr>
<tr>
<td class="h" >
<a name="1">1</a>
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td class="s"> #!/usr/bin/perl -w </td>
</tr>
<tr>
<td class="h" >
<a name="2">2</a>
</td>
<td class="c3" >
1
</td>
<td >
</td>
<td >
</td>
<td class="c3" >
<a href="t-PerlySense-Document-Meta-sub-t--subroutine.html#2-1">
1
</a>
</td>
<td >
</td>
<td >
167137
</td>
<td class="s"> <span class="k">use</span> <span class="w">strict</span><span class="sc">;</span> </td>
</tr>
<tr>
<td class="h" >
<a > </a>
</td>
<td class="c3" >
1
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
2
</td>
<td class="s"> </td>
</tr>
<tr>
<td class="h" >
<a > </a>
</td>
<td class="c3" >
1
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
71
</td>
<td class="s"> </td>
</tr>
<tr>
<td class="h" >
<a name="3">3</a>
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td class="s"> </td>
</tr>
<tr>
<td class="h" >
<a name="4">4</a>
</td>
<td class="c3" >
1
</td>
<td >
</td>
<td >
</td>
<td class="c3" >
<a href="t-PerlySense-Document-Meta-sub-t--subroutine.html#4-1">
1
</a>
</td>
<td >
</td>
<td >
507
</td>
<td class="s"> <span class="k">use</span> <span class="w">Test::More</span> <span class="w">tests</span> <span class="cm">=></span> <span class="n">22</span><span class="sc">;</span> </td>
</tr>
<tr>
<td class="h" >
<a > </a>
</td>
<td class="c3" >
1
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
16346
</td>
<td class="s"> </td>
</tr>
<tr>
<td class="h" >
<a > </a>
</td>
<td class="c3" >
1
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
6
</td>
<td class="s"> </td>
</tr>
<tr>
<td class="h" >
<a name="5">5</a>
</td>
<td class="c3" >
1
</td>
<td >
</td>
<td >
</td>
<td class="c3" >
<a href="t-PerlySense-Document-Meta-sub-t--subroutine.html#5-1">
1
</a>
</td>
<td >
</td>
<td >
668
</td>
<td class="s"> <span class="k">use</span> <span class="w">Test::Exception</span><span class="sc">;</span> </td>
</tr>
<tr>
<td class="h" >
<a > </a>
</td>
<td class="c3" >
1
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
2518
</td>
<td class="s"> </td>
</tr>
<tr>
<td class="h" >
<a > </a>
</td>
<td class="c3" >
1
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
3
</td>
<td class="s"> </td>
</tr>
<tr>
<td class="h" >
<a name="6">6</a>
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td class="s"> </td>
</tr>
<tr>
<td class="h" >
<a name="7">7</a>
</td>
<td class="c3" >
1
</td>
<td >
</td>
<td >
</td>
<td class="c3" >
<a href="t-PerlySense-Document-Meta-sub-t--subroutine.html#7-1">
1
</a>
</td>
<td >
</td>
<td >
672
</td>
<td class="s"> <span class="k">use</span> <span class="w">Data::Dumper</span><span class="sc">;</span> </td>
</tr>
<tr>
<td class="h" >
<a > </a>
</td>
<td class="c3" >
1
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
5722
</td>
<td class="s"> </td>
</tr>
<tr>
<td class="h" >
<a > </a>
</td>
<td class="c3" >
1
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
59
</td>
<td class="s"> </td>
</tr>
<tr>
<td class="h" >
<a name="8">8</a>
</td>
<td class="c3" >
1
</td>
<td >
</td>
<td >
</td>
<td class="c3" >
<a href="t-PerlySense-Document-Meta-sub-t--subroutine.html#8-1">
1
</a>
</td>
<td >
</td>
<td >
7
</td>
<td class="s"> <span class="k">use</span> <span class="w">File::Basename</span><span class="sc">;</span> </td>
</tr>
<tr>
<td class="h" >
<a > </a>
</td>
<td class="c3" >
1
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
2
</td>
<td class="s"> </td>
</tr>
<tr>
<td class="h" >
<a > </a>
</td>
<td class="c3" >
1
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
81
</td>
<td class="s"> </td>
</tr>
<tr>
<td class="h" >
<a name="9">9</a>
</td>
<td class="c3" >
1
</td>
<td >
</td>
<td >
</td>
<td class="c3" >
<a href="t-PerlySense-Document-Meta-sub-t--subroutine.html#9-1">
1
</a>
</td>
<td >
</td>
<td >
818
</td>
<td class="s"> <span class="k">use</span> <span class="w">File::Spec::Functions</span><span class="sc">;</span> </td>
</tr>
<tr>
<td class="h" >
<a > </a>
</td>
<td class="c3" >
1
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
484
</td>
<td class="s"> </td>
</tr>
<tr>
<td class="h" >
<a > </a>
</td>
<td class="c3" >
1
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
62
</td>
<td class="s"> </td>
</tr>
<tr>
<td class="h" >
<a name="10">10</a>
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td class="s"> </td>
</tr>
<tr>
<td class="h" >
<a name="11">11</a>
</td>
<td class="c3" >
1
</td>
<td >
</td>
<td >
</td>
<td class="c3" >
<a href="t-PerlySense-Document-Meta-sub-t--subroutine.html#11-1">
1
</a>
</td>
<td >
</td>
<td >
270
</td>
<td class="s"> <span class="k">use</span> <span class="w">lib</span> <span class="q">"../lib"</span><span class="sc">;</span> </td>
</tr>
<tr>
<td class="h" >
<a > </a>
</td>
<td class="c3" >
1
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
533
</td>
<td class="s"> </td>
</tr>
<tr>
<td class="h" >
<a > </a>
</td>
<td class="c3" >
1
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
3
</td>
<td class="s"> </td>
</tr>
<tr>
<td class="h" >
<a name="12">12</a>
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td class="s"> </td>
</tr>
<tr>
<td class="h" >
<a name="13">13</a>
</td>
<td class="c3" >
1
</td>
<td >
</td>
<td >
</td>
<td class="c3" >
<a href="t-PerlySense-Document-Meta-sub-t--subroutine.html#13-1">
1
</a>
</td>
<td >
</td>
<td >
74733
</td>
<td class="s"> <span class="i">use_ok</span><span class="s">(</span><span class="q">"Devel::PerlySense"</span><span class="s">)</span><span class="sc">;</span> </td>
</tr>
<tr>
<td class="h" >
<a > </a>
</td>
<td class="c3" >
1
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
623
</td>
<td class="s"> </td>
</tr>
<tr>
<td class="h" >
<a > </a>
</td>
<td class="c3" >
1
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
2
</td>
<td class="s"> </td>
</tr>
<tr>
<td class="h" >
<a > </a>
</td>
<td class="c3" >
1
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
1
</td>
<td class="s"> </td>
</tr>
<tr>
<td class="h" >
<a > </a>
</td>
<td class="c3" >
1
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
6
</td>
<td class="s"> </td>
</tr>
<tr>
<td class="h" >
<a name="14">14</a>
</td>
<td class="c3" >
1
</td>
<td >
</td>
<td >
</td>
<td class="c3" >
<a href="t-PerlySense-Document-Meta-sub-t--subroutine.html#14-1">
1
</a>
</td>
<td >
</td>
<td >
272
</td>
<td class="s"> <span class="i">use_ok</span><span class="s">(</span><span class="q">"Devel::PerlySense::Document"</span><span class="s">)</span><span class="sc">;</span> </td>
</tr>
<tr>
<td class="h" >
<a > </a>
</td>
<td class="c3" >
1
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
73
</td>
<td class="s"> </td>
</tr>
<tr>
<td class="h" >
<a > </a>
</td>
<td class="c3" >
1
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
1
</td>
<td class="s"> </td>
</tr>
<tr>
<td class="h" >
<a > </a>
</td>
<td class="c3" >
1
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
1
</td>
<td class="s"> </td>
</tr>
<tr>
<td class="h" >
<a > </a>
</td>
<td class="c3" >
1
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
7
</td>
<td class="s"> </td>
</tr>
<tr>
<td class="h" >
<a name="15">15</a>
</td>
<td class="c3" >
1
</td>
<td >
</td>
<td >
</td>
<td class="c3" >
<a href="t-PerlySense-Document-Meta-sub-t--subroutine.html#15-1">
1
</a>
</td>
<td >
</td>
<td >
194
</td>
<td class="s"> <span class="i">use_ok</span><span class="s">(</span><span class="q">"Devel::PerlySense::Document::Meta"</span><span class="s">)</span><span class="sc">;</span> </td>
</tr>
<tr>
<td class="h" >
<a > </a>
</td>
<td class="c3" >
1
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
250
</td>
<td class="s"> </td>
</tr>
<tr>
<td class="h" >
<a > </a>
</td>
<td class="c3" >
1
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
1
</td>
<td class="s"> </td>
</tr>
<tr>
<td class="h" >
<a > </a>
</td>
<td class="c3" >
1
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
2
</td>
<td class="s"> </td>
</tr>
<tr>
<td class="h" >
<a > </a>
</td>
<td class="c3" >
1
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
9
</td>
<td class="s"> </td>
</tr>
<tr>
<td class="h" >
<a name="16">16</a>
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td class="s"> </td>
</tr>
<tr>
<td class="h" >
<a name="17">17</a>
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td class="s"> </td>
</tr>
<tr>
<td class="h" >
<a name="18">18</a>
</td>
<td class="c3" >
1
</td>
<td class="c0" >
<a href="t-PerlySense-Document-Meta-sub-t--branch.html#18-1">
50
</a>
</td>
<td >
</td>
<td class="c3" >
<a href="t-PerlySense-Document-Meta-sub-t--subroutine.html#18-1">
1
</a>
</td>
<td >
</td>
<td >
1718
</td>
<td class="s"> <span class="k">BEGIN</span> <span class="s">{</span> <span class="k">-d</span> <span class="q">"t"</span> <span class="k">and</span> <span class="k">chdir</span><span class="s">(</span><span class="q">"t"</span><span class="s">)</span><span class="sc">;</span> <span class="s">}</span> </td>
</tr>
<tr>
<td class="h" >
<a name="19">19</a>
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td class="s"> </td>
</tr>
<tr>
<td class="h" >
<a name="20">20</a>
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td class="s"> </td>
</tr>
<tr>
<td class="h" >
<a name="21">21</a>
</td>
<td class="c3" >
1
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
194
</td>
<td class="s"> <span class="i">ok</span><span class="s">(</span><span class="k">my</span> <span class="i">$oDocument</span> = <span class="w">Devel::PerlySense::Document</span><span class="w">->new</span><span class="s">(</span><span class="w">oPerlySense</span> <span class="cm">=></span> <span class="w">Devel::PerlySense</span><span class="w">->new</span><span class="s">(</span><span class="s">)</span><span class="s">)</span><span class="cm">,</span> <span class="q">"new ok"</span><span class="s">)</span><span class="sc">;</span> </td>
</tr>
<tr>
<td class="h" >
<a name="22">22</a>
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td class="s"> </td>
</tr>
<tr>
<td class="h" >
<a name="23">23</a>
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td class="s"> </td>
</tr>
<tr>
<td class="h" >
<a name="24">24</a>
</td>
<td class="c3" >
1
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
186
</td>
<td class="s"> <span class="k">my</span> <span class="i">$dirData</span> = <span class="q">"data/simple-lib"</span><span class="sc">;</span> </td>
</tr>
<tr>
<td class="h" >
<a name="25">25</a>
</td>
<td class="c3" >
1
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
3
</td>
<td class="s"> <span class="k">my</span> <span class="i">$fileOrigin</span> = <span class="q">"$dirData/lib/Win32/Word/Writer.pm"</span><span class="sc">;</span> </td>
</tr>
<tr>
<td class="h" >
<a name="26">26</a>
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td class="s"> </td>
</tr>
<tr>
<td class="h" >
<a name="27">27</a>
</td>
<td class="c3" >
1
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
4
</td>
<td class="s"> <span class="i">ok</span><span class="s">(</span><span class="i">$oDocument</span><span class="i">->parse</span><span class="s">(</span><span class="w">file</span> <span class="cm">=></span> <span class="i">$fileOrigin</span><span class="s">)</span><span class="cm">,</span> <span class="q">"Parsed file ok"</span><span class="s">)</span><span class="sc">;</span> </td>
</tr>
<tr>
<td class="h" >
<a name="28">28</a>
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td class="s"> </td>
</tr>
<tr>
<td class="h" >
<a name="29">29</a>
</td>
<td class="c3" >
1
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
1246
</td>
<td class="s"> <span class="k">my</span> <span class="i">$oMeta</span> = <span class="i">$oDocument</span><span class="i">->oMeta</span><span class="sc">;</span> </td>
</tr>
<tr>
<td class="h" >
<a name="30">30</a>
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td class="s"> </td>
</tr>
<tr>
<td class="h" >
<a name="31">31</a>
</td>
<td class="c3" >
1
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
5
</td>
<td class="s"> <span class="i">is</span><span class="s">(</span><span class="k">scalar</span><span class="s">(</span><span class="i">@</span>{<span class="i">$oMeta</span><span class="i">->raLocationSub</span>}<span class="s">)</span><span class="cm">,</span> <span class="n">33</span><span class="cm">,</span> <span class="q">" Correct number of pod chunks found"</span><span class="s">)</span><span class="sc">;</span> </td>
</tr>
<tr>
<td class="h" >
<a > </a>
</td>
<td class="c3" >
1
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
27
</td>
<td class="s"> </td>
</tr>
<tr>
<td class="h" >
<a name="32">32</a>
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td class="s"> </td>
</tr>
<tr>
<td class="h" >
<a name="33">33</a>
</td>
<td class="c3" >
1
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
687
</td>
<td class="s"> <span class="k">my</span> <span class="i">$oLocation</span><span class="sc">;</span> </td>
</tr>
<tr>
<td class="h" >
<a name="34">34</a>
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td class="s"> </td>
</tr>
<tr>
<td class="h" >
<a name="35">35</a>
</td>
<td class="c3" >
1
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
645
</td>
<td class="s"> <span class="i">ok</span><span class="s">(</span><span class="i">$oLocation</span> = <span class="i">$oMeta</span><span class="i">->raLocationSub</span>->[<span class="n">3</span>]<span class="cm">,</span> <span class="q">"Got a POD chunk (head1 inside pod)"</span><span class="s">)</span><span class="sc">;</span> </td>
</tr>
<tr>
<td class="h" >
<a name="36">36</a>
</td>
<td class="c3" >
1
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
556
</td>
<td class="s"> <span class="i">is</span><span class="s">(</span><span class="i">$oLocation</span><span class="i">->row</span><span class="cm">,</span> <span class="n">314</span><span class="cm">,</span> <span class="q">" row"</span><span class="s">)</span><span class="sc">;</span> </td>
</tr>
<tr>
<td class="h" >
<a name="37">37</a>
</td>
<td class="c3" >
1
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
505
</td>
<td class="s"> <span class="i">is</span><span class="s">(</span><span class="i">$oLocation</span><span class="i">->col</span><span class="cm">,</span> <span class="n">1</span><span class="cm">,</span> <span class="q">" col"</span><span class="s">)</span><span class="sc">;</span> </td>
</tr>
<tr>
<td class="h" >
<a name="38">38</a>
</td>
<td class="c3" >
1
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
425
</td>
<td class="s"> <span class="i">is</span><span class="s">(</span><span class="i">$oLocation</span><span class="i">->rhProperty</span>->{<span class="w">nameSub</span>}<span class="cm">,</span> <span class="q">"SaveAs"</span><span class="cm">,</span> <span class="q">" nameSub"</span><span class="s">)</span><span class="sc">;</span> </td>
</tr>
<tr>
<td class="h" >
<a name="39">39</a>
</td>
<td class="c3" >
1
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
418
</td>
<td class="s"> <span class="i">is</span><span class="s">(</span><span class="i">$oLocation</span><span class="i">->rhProperty</span>->{<span class="w">namePackage</span>}<span class="cm">,</span> <span class="q">"Win32::Word::Writer"</span><span class="cm">,</span> <span class="q">" namePackage"</span><span class="s">)</span><span class="sc">;</span> </td>
</tr>
<tr>
<td class="h" >
<a name="40">40</a>
</td>
<td class="c3" >
1
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
445
</td>
<td class="s"> <span class="i">is</span><span class="s">(</span><span class="i">$oLocation</span><span class="i">->rhProperty</span>->{<span class="w">source</span>}<span class="cm">,</span> <span class="q">q'sub SaveAs {</span> </td>
</tr>
<tr>
<td class="h" >
<a name="41">41</a>
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td class="s"> <span class="q"> my $self = shift;</span> </td>
</tr>
<tr>
<td class="h" >
<a name="42">42</a>
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td class="s"> <span class="q"> my ($file, %hOpt) = @_;</span> </td>
</tr>
<tr>
<td class="h" >
<a name="43">43</a>
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td class="s"> <span class="q"> my $format = $hOpt{format} || "Document";</span> </td>
</tr>
<tr>
<td class="h" >
<a name="44">44</a>
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td class="s"> </td>
</tr>
<tr>
<td class="h" >
<a name="45">45</a>
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td class="s"> <span class="q"> defined(my $formatConst = $self->rhConst->{"wdFormat$format"}) or croak("Invalid format ($format), use Document, DOSText, DOSTextLineBreaks, EncodedText, HTML, RTF, Template, Text, TextLineBreaks, UnicodeText");</span> </td>
</tr>
<tr>
<td class="h" >
<a name="46">46</a>
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td class="s"> </td>
</tr>
<tr>
<td class="h" >
<a name="47">47</a>
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td class="s"> <span class="q"> $file = File::Spec->rel2abs($file);</span> </td>
</tr>
<tr>
<td class="h" >
<a name="48">48</a>
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td class="s"> </td>
</tr>
<tr>
<td class="h" >
<a name="49">49</a>
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td class="s"> <span class="q"> eval { $self->oDocument->SaveAs({ FileName => $file, FileFormat => $formatConst }) };</span> </td>
</tr>
<tr>
<td class="h" >
<a name="50">50</a>
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td class="s"> <span class="q"> if($@) {</span> </td>
</tr>
<tr>
<td class="h" >
<a name="51">51</a>
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td class="s"> <span class="q"> my $err = $@;</span> </td>
</tr>
<tr>
<td class="h" >
<a name="52">52</a>
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td class="s"> <span class="q"> if($err =~ /OLE exception from "Microsoft Word":\n\n(.+?)\nWin32::OLE/si) {</span> </td>
</tr>
<tr>
<td class="h" >
<a name="53">53</a>
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td class="s"> <span class="q"> die("Could not save file ($file): $1\n");</span> </td>
</tr>
<tr>
<td class="h" >
<a name="54">54</a>
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td class="s"> <span class="q"> }</span> </td>
</tr>
<tr>
<td class="h" >
<a name="55">55</a>
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td class="s"> <span class="q"> die($err);</span> </td>
</tr>
<tr>
<td class="h" >
<a name="56">56</a>
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td class="s"> <span class="q"> }</span> </td>
</tr>
<tr>
<td class="h" >
<a name="57">57</a>
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td class="s"> </td>
</tr>
<tr>
<td class="h" >
<a name="58">58</a>
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td class="s"> <span class="q"> return(1);</span> </td>
</tr>
<tr>
<td class="h" >
<a name="59">59</a>
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td class="s"> <span class="q">}'</span><span class="cm">,</span> <span class="q">" sourceSub"</span><span class="s">)</span><span class="sc">;</span> </td>
</tr>
<tr>
<td class="h" >
<a name="60">60</a>
</td>
<td class="c3" >
1
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
422
</td>
<td class="s"> <span class="i">is</span><span class="s">(</span><span class="i">$oLocation</span><span class="i">->rhProperty</span>->{<span class="w">oLocationEnd</span>}<span class="i">->row</span><span class="cm">,</span> <span class="n">333</span><span class="cm">,</span> <span class="q">" end row"</span><span class="s">)</span><span class="sc">;</span> </td>
</tr>
<tr>
<td class="h" >
<a name="61">61</a>
</td>
<td class="c3" >
1
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
460
</td>
<td class="s"> <span class="i">is</span><span class="s">(</span><span class="i">$oLocation</span><span class="i">->rhProperty</span>->{<span class="w">oLocationEnd</span>}<span class="i">->col</span><span class="cm">,</span> <span class="n">2</span><span class="cm">,</span> <span class="q">" end col"</span><span class="s">)</span><span class="sc">;</span> </td>
</tr>
<tr>
<td class="h" >
<a name="62">62</a>
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td class="s"> </td>
</tr>
<tr>
<td class="h" >
<a name="63">63</a>
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td class="s"> </td>
</tr>
<tr>
<td class="h" >
<a name="64">64</a>
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td class="s"> </td>
</tr>
<tr>
<td class="h" >
<a name="65">65</a>
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td class="s"> </td>
</tr>
<tr>
<td class="h" >
<a name="66">66</a>
</td>
<td class="c3" >
1
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
1134
</td>
<td class="s"> <span class="i">ok</span><span class="s">(</span><span class="i">$oLocation</span> = <span class="i">$oMeta</span><span class="i">->raLocationSub</span>->[<span class="n">32</span>]<span class="cm">,</span> <span class="q">"Got a POD chunk (head1 inside pod)"</span><span class="s">)</span><span class="sc">;</span> </td>
</tr>
<tr>
<td class="h" >
<a name="67">67</a>
</td>
<td class="c3" >
1
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
431
</td>
<td class="s"> <span class="i">is</span><span class="s">(</span><span class="i">$oLocation</span><span class="i">->row</span><span class="cm">,</span> <span class="n">1031</span><span class="cm">,</span> <span class="q">" row"</span><span class="s">)</span><span class="sc">;</span> </td>
</tr>
<tr>
<td class="h" >
<a name="68">68</a>
</td>
<td class="c3" >
1
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
417
</td>
<td class="s"> <span class="i">is</span><span class="s">(</span><span class="i">$oLocation</span><span class="i">->col</span><span class="cm">,</span> <span class="n">1</span><span class="cm">,</span> <span class="q">" col"</span><span class="s">)</span><span class="sc">;</span> </td>
</tr>
<tr>
<td class="h" >
<a name="69">69</a>
</td>
<td class="c3" >
1
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
605
</td>
<td class="s"> <span class="i">is</span><span class="s">(</span><span class="i">$oLocation</span><span class="i">->rhProperty</span>->{<span class="w">nameSub</span>}<span class="cm">,</span> <span class="q">"DESTROY"</span><span class="cm">,</span> <span class="q">" nameSub"</span><span class="s">)</span><span class="sc">;</span> </td>
</tr>
<tr>
<td class="h" >
<a name="70">70</a>
</td>
<td class="c3" >
1
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
424
</td>
<td class="s"> <span class="i">is</span><span class="s">(</span><span class="i">$oLocation</span><span class="i">->rhProperty</span>->{<span class="w">namePackage</span>}<span class="cm">,</span> <span class="q">"Win32::Word::Writer"</span><span class="cm">,</span> <span class="q">" namePackage"</span><span class="s">)</span><span class="sc">;</span> </td>
</tr>
<tr>
<td class="h" >
<a name="71">71</a>
</td>
<td class="c3" >
1
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
550
</td>
<td class="s"> <span class="i">is</span><span class="s">(</span><span class="i">$oLocation</span><span class="i">->rhProperty</span>->{<span class="w">source</span>}<span class="cm">,</span> <span class="q">q/sub DESTROY {</span> </td>
</tr>
<tr>
<td class="h" >
<a name="72">72</a>
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td class="s"> <span class="q"> my $self = shift;</span> </td>
</tr>
<tr>
<td class="h" >
<a name="73">73</a>
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td class="s"> <span class="q"> $self->oTable(undef);</span> </td>
</tr>
<tr>
<td class="h" >
<a name="74">74</a>
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td class="s"> </td>
</tr>
<tr>
<td class="h" >
<a name="75">75</a>
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td class="s"> <span class="q"> $self->oWord->{DisplayAlerts} = $rhConst->{wdAlertsNone};</span> </td>
</tr>
<tr>
<td class="h" >
<a name="76">76</a>
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td class="s"> <span class="q"> $self->MarkDocumentAsSaved(); ##workaround: wdAlertsNone doesn't work in Word2000 so we insist that the document is already saved to avoid the dialog box</span> </td>
</tr>
<tr>
<td class="h" >
<a name="77">77</a>
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td class="s"> </td>
</tr>
<tr>
<td class="h" >
<a name="78">78</a>
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td class="s"> <span class="q"> $self->oWord->Quit();</span> </td>
</tr>
<tr>
<td class="h" >
<a name="79">79</a>
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td class="s"> <span class="q"> $self->oWord(undef); #This destroys the OLE object</span> </td>
</tr>
<tr>
<td class="h" >
<a name="80">80</a>
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td class="s"> </td>
</tr>
<tr>
<td class="h" >
<a name="81">81</a>
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td class="s"> <span class="q"> #Save after quitting to keep Word from locking the file</span> </td>
</tr>
<tr>
<td class="h" >
<a name="82">82</a>
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td class="s"> <span class="q"> if($self->fileTemp and -e $self->fileTemp) {</span> </td>
</tr>
<tr>
<td class="h" >
<a name="83">83</a>
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td class="s"> <span class="q"> unlink($self->fileTemp) or ($^W and warn("Could not delete temp file (" . $self->fileTemp . "): $!\n"));</span> </td>
</tr>
<tr>
<td class="h" >
<a name="84">84</a>
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td class="s"> <span class="q"> }</span> </td>
</tr>
<tr>
<td class="h" >
<a name="85">85</a>
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td class="s"> <span class="q">}/</span><span class="cm">,</span> <span class="q">" sourceSub"</span><span class="s">)</span><span class="sc">;</span> </td>
</tr>
<tr>
<td class="h" >
<a name="86">86</a>
</td>
<td class="c3" >
1
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
424
</td>
<td class="s"> <span class="i">is</span><span class="s">(</span><span class="i">$oLocation</span><span class="i">->rhProperty</span>->{<span class="w">oLocationEnd</span>}<span class="i">->row</span><span class="cm">,</span> <span class="n">1045</span><span class="cm">,</span> <span class="q">" end row"</span><span class="s">)</span><span class="sc">;</span> </td>
</tr>
<tr>
<td class="h" >
<a name="87">87</a>
</td>
<td class="c3" >
1
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
424
</td>
<td class="s"> <span class="i">is</span><span class="s">(</span><span class="i">$oLocation</span><span class="i">->rhProperty</span>->{<span class="w">oLocationEnd</span>}<span class="i">->col</span><span class="cm">,</span> <span class="n">2</span><span class="cm">,</span> <span class="q">" end col"</span><span class="s">)</span><span class="sc">;</span> </td>
</tr>
<tr>
<td class="h" >
<a name="88">88</a>
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td class="s"> </td>
</tr>
<tr>
<td class="h" >
<a name="89">89</a>
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td class="s"> </td>
</tr>
<tr>
<td class="h" >
<a name="90">90</a>
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td class="s"> </td>
</tr>
<tr>
<td class="h" >
<a name="91">91</a>
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td class="s"> </td>
</tr>
<tr>
<td class="h" >
<a name="92">92</a>
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td class="s"> </td>
</tr>
<tr>
<td class="h" >
<a name="93">93</a>
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td class="s"> </td>
</tr>
<tr>
<td class="h" >
<a name="94">94</a>
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td class="s"> <span class="c">#print Dumper($oMeta);</span> </td>
</tr>
<tr>
<td class="h" >
<a name="95">95</a>
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td class="s"> </td>
</tr>
<tr>
<td class="h" >
<a name="96">96</a>
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td class="s"> </td>
</tr>
<tr>
<td class="h" >
<a name="97">97</a>
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td class="s"> </td>
</tr>
<tr>
<td class="h" >
<a name="98">98</a>
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td >
</td>
<td class="s"> <span class="k">__END__</span> </td>
</tr>
</table>
</body>
</html>