.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32 .\" .\" Standard preamble: .\" ======================================================================== .de Sh \" Subsection heading .br .if t .Sp .ne 5 .PP \fB\\$1\fR .PP .. .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. | will give a .\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to .\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C' .\" expand to `' in nroff, nothing in troff, for use with C<>. .tr \(*W-|\(bv\*(Tr .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' 'br\} .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .\" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .hy 0 .if n .na .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "Text::FixEOL 3" .TH Text::FixEOL 3 "2008-01-14" "perl v5.8.8" "User Contributed Perl Documentation" .SH "NAME" Text::FixEOL \- Canonicalizes text to a specified EOL/EOF convention, repairing any 'mixed' usages .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& use Text::FixEOL; .Ve .PP .Vb 5 \& my $fixer = Text::FixEOL->new({ EOL => 'platform|asis|mac|dos|unix|vms|netware|network|os2|cygwin|crlf|cr|lf|literal:$value', \& EOF => 'platform|add|asis|remove|mac|dos|unix|vms|netware|cygwin|network|os2', \& FixLast => 'platform│yes│no│mac│dos│unix│vms│netware│network│os2│cygwin', \& }); \& my $fixed_text = $fixer->fix_eol($string); .Ve .PP .Vb 5 \& my $mac_text = $fixer->eol_to_mac($string); \& my $windows_text = $fixer->eol_to_dos($string); \& my $unix_text = $fixer->eol_to_unix($string); \& my $crlf_text = $fixer->to_crlf($string); \& my $network_text = $fixer->to_network($string); .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" Converts the \s-1EOL\s0 and \s-1EOF\s0 conventions in the passed string to a canonicalization form that handles 'mixed' \s-1EOL\s0 conventions. .PP It canonicalizes \s-1EOL\s0 as \en (the platform defined \s-1EOL\s0) if it does not know the particular platform. Can also 'fix' the end-of-file mark if needed and ensure that the last line of the string is \s-1EOL\s0 terminated. .SH "CHANGES" .IX Header "CHANGES" .Vb 1 \& 1.00 2005.05.02 - Initial Release .Ve .PP .Vb 4 \& 1.01 2005.05.03 - Changes to Build.PL to have Test::NoWarnings \& and Test::More as prerequisite modules and changes \& to META.yml to try to make CPANPLUS happy. Small documentation \& change to 'new'. No functional changes. .Ve .PP .Vb 5 \& 1.02 2005.05.05 - Added more build tests and made various bug \& fixes and tweaks. 100% code coverage for \& tests reached. Added Test::Pod to tests. \& Changed text in POD for licence to correctly \& identify license as dual Artistic/GPL. .Ve .PP .Vb 3 \& 1.03 2005.06.17 - Removed NoWarnings test to improve ability to build on \& older installations. Added pod coverage test. Made all \& pod tests optional. No functional changes. .Ve .PP .Vb 4 \& 1.04 2005.09.09 - Tweaked POD build tests. Tweaked META.yml. Extended \& license statement and appended liability disclaimer. \& Appended Artistic and GPL licenses to distribution. \& No functional changes. .Ve .PP .Vb 3 \& 1.05 2005.09.13 - Changed pod tests to be more CPANTS friendly. \& Removed usage of 'warnings' pragma and 'our' \& for Perl 5.005 compatibility. .Ve .SH "METHODS" .IX Header "METHODS" .IP "new({ [\s-1EOL\s0 => '\fBplatform\fR|asis|mac|dos|unix|vms|netware|network|os2|cygwin|crlf|cr|lf|literal:$value', ] [\s-1EOF\s0 => '\fBplatform\fR|add|asis|remove|mac|dos|unix|vms|netware|network|os2|cygwin', ] [FixLast => '\fBplatform\fR|yes|no|mac│dos│unix│vms│netware│network│os2│cygwin', ] });" 4 .IX Item "new({ [EOL => 'platform|asis|mac|dos|unix|vms|netware|network|os2|cygwin|crlf|cr|lf|literal:$value', ] [EOF => 'platform|add|asis|remove|mac|dos|unix|vms|netware|network|os2|cygwin', ] [FixLast => 'platform|yes|no|mac│dos│unix│vms│netware│network│os2│cygwin', ] });" Instantates a new Text::FixEOL object and (optionally) allows setting the modes of operation. .IP "fix_eol($input);" 4 .IX Item "fix_eol($input);" Converts the EOLs/EOF in the passed text to a canonicalization form. This includes fixing EOLs to the appropriate values, as well as handling \&\s-1EOF\s0 issues. Specifically, the presence of terminal Ctrl-Z characters (\s-1EOF\s0) and whether or not the last line of the string is terminated with \s-1EOL\s0 (FixLast). .Sp When running in default mode (all setting at 'platform') on an unrecognized platform, it will attempt to convert to the local machine conventions using \en for \s-1EOL\s0, \&'remove' for \s-1EOF\s0 and 'yes' for FixLast. .Sp It attempts to 'Do What I Mean' (\s-1DWIM\s0) for mixed \s-1EOL\s0 values (text where there is a mixture of differing \s-1EOL\s0 conventions such as can happen when a document is editted in more than one environment). .Sp Example: .Sp .Vb 1 \& my $fixed_string = $fixer->fix_eol($string); .Ve .Sp The full grid of platform defaults is as follows: .Sp .Vb 12 \& EOL EOF FixLast \& unix \e012 remove yes \& dos \e015\e012 asis yes \& windows \e015\e012 asis yes \& mswin32 \e015\e012 asis yes \& mac \e015 remove yes \& macos \e015 remove yes \& vms \e015\e012 remove yes \& os2 \e015\e012 asis yes \& netware \e015\e012 asis yes \& cygwin \e015\e012 asis yes \& network \e015\e012 remove yes .Ve .Sp The \s-1EOL\s0 canonicalization form is premised on the following example map which attempts to '\s-1DWIM\s0' for all cases of between 1 and 4 consecutive \s-1CR/LF\s0 characters. The values shown in the table are for \fIillustrative\fR purposes only. The actual values depend on the conversion modes specified. .Sp .Vb 2 \& ["\e012" => "\e012"], \& ["\e015" => "\e012"], .Ve .Sp .Vb 4 \& ["\e012\e015" => "\e012"], \& ["\e015\e012" => "\e012"], \& ["\e015\e012\e015" => "\e012\e012"], \& ["\e012\e015\e012" => "\e012\e012"], .Ve .Sp .Vb 8 \& ["\e012a\e012b\e012" => "\e012a\e012b\e012"], \& ["\e012a\e012b\e015" => "\e012a\e012b\e012"], \& ["\e012a\e015b\e012" => "\e012a\e012b\e012"], \& ["\e012a\e015b\e015" => "\e012a\e012b\e012"], \& ["\e015a\e012b\e012" => "\e012a\e012b\e012"], \& ["\e015a\e012b\e015" => "\e012a\e012b\e012"], \& ["\e015a\e015b\e012" => "\e012a\e012b\e012"], \& ["\e015a\e015b\e015" => "\e012a\e012b\e012"], .Ve .Sp .Vb 7 \& ["\e012\e015a\e012\e015b\e012\e015" => "\e012a\e012b\e012"], \& ["\e012\e015a\e012\e015b\e015" => "\e012a\e012b\e012"], \& ["\e012\e015a\e015b\e012\e015" => "\e012a\e012b\e012"], \& ["\e012\e015a\e015b\e015" => "\e012a\e012b\e012"], \& ["\e015a\e012\e015b\e012\e015" => "\e012a\e012b\e012"], \& ["\e015a\e012\e015b\e015" => "\e012a\e012b\e012"], \& ["\e015a\e015b\e012\e015" => "\e012a\e012b\e012"], .Ve .Sp .Vb 14 \& ["\e015\e012a\e015\e012b\e015\e012" => "\e012a\e012b\e012"], \& ["\e015\e012a\e015\e012b\e015" => "\e012a\e012b\e012"], \& ["\e015\e012a\e015b\e015\e012" => "\e012a\e012b\e012"], \& ["\e015\e012a\e015b\e015" => "\e012a\e012b\e012"], \& ["\e015a\e015\e012b\e015\e012" => "\e012a\e012b\e012"], \& ["\e015a\e015\e012b\e015" => "\e012a\e012b\e012"], \& ["\e015a\e015b\e015\e012" => "\e012a\e012b\e012"], \& ["\e015\e012\e015a\e015\e012\e015b\e015\e012\e015" => "\e012\e012a\e012\e012b\e012\e012"], \& ["\e015\e012\e015a\e015\e012\e015b\e015" => "\e012\e012a\e012\e012b\e012"], \& ["\e015\e012\e015a\e015b\e015\e012\e015" => "\e012\e012a\e012b\e012\e012"], \& ["\e015\e012\e015a\e015b\e015" => "\e012\e012a\e012b\e012"], \& ["\e015a\e015\e012\e015b\e015\e012\e015" => "\e012a\e012\e012b\e012\e012"], \& ["\e015a\e015\e012\e015b\e015" => "\e012a\e012\e012b\e012"], \& ["\e015a\e015b\e015\e012\e015" => "\e012a\e012b\e012\e012"], .Ve .Sp .Vb 8 \& ["\e012\e012\e012a\e012\e012\e012b\e012\e012\e012" => "\e012\e012\e012a\e012\e012\e012b\e012\e012\e012"], \& ["\e012\e012\e015a\e012\e012\e015b\e012\e012\e015" => "\e012\e012a\e012\e012b\e012\e012"], \& ["\e012\e015\e012a\e012\e015\e012b\e012\e015\e012" => "\e012\e012a\e012\e012b\e012\e012"], \& ["\e012\e015\e015a\e012\e015\e015b\e012\e015\e015" => "\e012\e012a\e012\e012b\e012\e012"], \& ["\e015\e012\e012a\e015\e012\e012b\e015\e012\e012" => "\e012\e012a\e012\e012b\e012\e012"], \& ["\e015\e012\e015a\e015\e012\e015b\e015\e012\e015" => "\e012\e012a\e012\e012b\e012\e012"], \& ["\e015\e015\e012a\e015\e015\e012b\e015\e015\e012" => "\e012\e012a\e012\e012b\e012\e012"], \& ["\e015\e015\e015a\e015\e015\e015b\e015\e015\e015" => "\e012\e012\e012a\e012\e012\e012b\e012\e012\e012"], .Ve .Sp .Vb 16 \& ["\e012\e012\e012\e012a\e012\e012\e012\e012b\e012\e012\e012\e012" => "\e012\e012\e012\e012a\e012\e012\e012\e012b\e012\e012\e012\e012"], \& ["\e012\e012\e012\e015a\e012\e012\e012\e015b\e012\e012\e012\e015" => "\e012\e012\e012a\e012\e012\e012b\e012\e012\e012"], \& ["\e012\e012\e015\e012a\e012\e012\e015\e012b\e012\e012\e015\e012" => "\e012\e012\e012a\e012\e012\e012b\e012\e012\e012"], \& ["\e012\e012\e015\e015a\e012\e012\e015\e015b\e012\e012\e015\e015" => "\e012\e012\e012a\e012\e012\e012b\e012\e012\e012"], \& ["\e012\e015\e012\e012a\e012\e015\e012\e012b\e012\e015\e012\e012" => "\e012\e012\e012a\e012\e012\e012b\e012\e012\e012"], \& ["\e012\e015\e012\e015a\e012\e015\e012\e015b\e012\e015\e012\e015" => "\e012\e012a\e012\e012b\e012\e012"], \& ["\e012\e015\e015\e012a\e012\e015\e015\e012b\e012\e015\e015\e012" => "\e012\e012a\e012\e012b\e012\e012"], \& ["\e012\e015\e015\e015a\e012\e015\e015\e015b\e012\e015\e015\e015" => "\e012\e012\e012a\e012\e012\e012b\e012\e012\e012"], \& ["\e015\e012\e012\e012a\e015\e012\e012\e012b\e015\e012\e012\e012" => "\e012\e012\e012a\e012\e012\e012b\e012\e012\e012"], \& ["\e015\e012\e012\e015a\e015\e012\e012\e015b\e015\e012\e012\e015" => "\e012\e012a\e012\e012b\e012\e012"], \& ["\e015\e012\e015\e012a\e015\e012\e015\e012b\e015\e012\e015\e012" => "\e012\e012a\e012\e012b\e012\e012"], \& ["\e015\e012\e015\e015a\e015\e012\e015\e015b\e015\e012\e015\e015" => "\e012\e012\e012a\e012\e012\e012b\e012\e012\e012"], \& ["\e015\e015\e012\e012a\e015\e015\e012\e012b\e015\e015\e012\e012" => "\e012\e012\e012a\e012\e012\e012b\e012\e012\e012"], \& ["\e015\e015\e012\e015a\e015\e015\e012\e015b\e015\e015\e012\e015" => "\e012\e012\e012a\e012\e012\e012b\e012\e012\e012"], \& ["\e015\e015\e015\e012a\e015\e015\e015\e012b\e015\e015\e015\e012" => "\e012\e012\e012a\e012\e012\e012b\e012\e012\e012"], \& ["\e015\e015\e015\e015a\e015\e015\e015\e015b\e015\e015\e015\e015" => "\e012\e012\e012\e012a\e012\e012\e012\e012b\e012\e012\e012\e012"], .Ve .Sp Additionally any Ctrl-Z (\s-1EOF\s0) characters are processed according to the \s-1EOF\s0 setting. .IP "eol_to_unix($string);" 4 .IX Item "eol_to_unix($string);" Converts the passed string to Unix \s-1EOL/EOF\s0 conventions. This is equivalent to using fix_eol with .Sp .Vb 3 \& EOL => 'unix', \& EOF => 'unix', \& FixLast => 'unix' .Ve .Sp The Unix \s-1EOL\s0 convention terminates all lines with \e012. Ctrl-Z (\s-1EOF\s0) characters at the end of the string are removed. .IP "eol_to_dos($string);" 4 .IX Item "eol_to_dos($string);" Converts the passed string to Windows/DOS \s-1EOL/EOF\s0 conventions This is equivalent to using fix_eol with .Sp .Vb 3 \& EOL => 'dos', \& EOF => 'dos', \& FixLast => 'dos' .Ve .Sp The \s-1DOS\s0 \s-1EOL\s0 convention terminates all lines with \e015\e012. Ctrl-Z (\s-1EOF\s0) characters at the end of the string are left alone if present. .IP "eol_to_mac($string);" 4 .IX Item "eol_to_mac($string);" Converts the passed string to Macintosh \s-1EOL/EOF\s0 conventions This is equivalent to using fix_eol with .Sp .Vb 3 \& EOL => 'mac', \& EOF => 'mac', \& FixLast => 'mac' .Ve .Sp The Mac \s-1EOL\s0 convention terminates all lines with \e012. Ctrl-Z (\s-1EOF\s0) characters at the end of the string are removed. .IP "eol_to_network($string);" 4 .IX Item "eol_to_network($string);" Converts the passed string to network \s-1EOL/EOF\s0 conventions. This is equivalent to using fix_eol with .Sp .Vb 3 \& EOL => 'network', \& EOF => 'network', \& FixLast => 'network' .Ve .Sp The network \s-1EOL\s0 convention terminates all lines with \e015\e012. Ctrl-Z (\s-1EOF\s0) characters at the end of the string are removed. .IP "eol_to_crlf($string);" 4 .IX Item "eol_to_crlf($string);" Converts the passed string to \s-1CRLF\s0 format without otherwise changing it. .Sp This is equivalent to using fix_eol with .Sp .Vb 3 \& EOL => 'crlf', \& EOF => 'asis', \& FixLast => 'no' .Ve .IP "fix_last_handling(['\fBplatform\fR|yes|no|mac│dos│unix│vms│netware│network│os2│cygwin']);" 4 .IX Item "fix_last_handling(['platform|yes|no|mac│dos│unix│vms│netware│network│os2│cygwin']);" Get/set accessor that specifies whether or not the last line of the string should have an \s-1EOL\s0 added if missing. Default is 'platform'. .IP "fix_last_mode;" 4 .IX Item "fix_last_mode;" Returns the current mode ('yes' or 'no') for the handling of the last line of the string (the actual 'yes'/'no' value rather than the mnemomic used for configuration). .Sp \&'yes' indicates the processor will ensure the last line is terminated with an \s-1EOL\s0 value, appending one if needed. .Sp \&'no' indicates the processor will not append a \s-1EOL\s0 if it is missing. .IP "eol_handling(['platform|asis|mac|dos|unix|vms|netware|network|os2|cygwin|crlf|cr|lf|literal:$value']);" 4 .IX Item "eol_handling(['platform|asis|mac|dos|unix|vms|netware|network|os2|cygwin|crlf|cr|lf|literal:$value']);" Sets/gets the end-of-line character handling property. The default is 'platform'. .Sp The full list of supported settings is as follows: .Sp .Vb 16 \& mac - use Macintosh default (\e015) \& macos - use Macintosh default (\e015) \& dos - use DOS default (\e015\e012) \& windows - use DOS default (\e015\e012) \& mswin32 - use DOS default (\e015\e012) \& unix - use Unix default (\e012) \& vms - use vms default (\e015\e012) \& netware - use netware default (\e015\e012) \& network - use network default (\e015\e012) \& os2 - use OS/2 default (\e015\e012) \& cygwin - use CygWin default (\e015\e012) \& platform - use the current execution environment default. \& asis - leave EOLs alone. \& crlf - use CRLF (\e015\e012) \& cr - use CR (\e015) \& lf - use LF (\e012) .Ve .Sp .Vb 3 \& 'literal:$value' where you replace '$value' with a string value \& instructs the converter to use the literal you specify \& for EOL. .Ve .IP "eol_mode;" 4 .IX Item "eol_mode;" Returns the current \s-1EOL\s0 string (the actual string value(s) for the \s-1EOL\s0). This is the literal string value, not the mnemomic name used for configuration. .IP "eof_handling(['\fBplatform\fR|add|asis|remove|mac|dos|unix|vms|netware|network|os2|cygwin']);" 4 .IX Item "eof_handling(['platform|add|asis|remove|mac|dos|unix|vms|netware|network|os2|cygwin']);" Specifies what is to be done with \s-1DOS\s0 end-of-file characters (control\-Z). .Sp .Vb 4 \& 'add' a Ctrl-Z (EOF) will be appended if not already present. \& 'asis' the EOF (whatever it is) will be left alone. \& 'remove' any trailing Ctrl-Z (EOF) characters will be removed. \& 'platform' use the current execution environment platform's default for EOF handling. .Ve .Sp .Vb 1 \& The platforms have the following default EOF handling behaviors: .Ve .Sp .Vb 12 \& EOF Handling \& unix remove \& dos asis \& windows asis \& mswin32 asis \& mac remove \& macos remove \& vms remove \& os2 asis \& netware asis \& cygwin asis \& network remove .Ve .IP "eof_mode;" 4 .IX Item "eof_mode;" Returns the current \s-1EOF\s0 mode ('\f(CW\*(C`asis\*(C'\fR', '\f(CW\*(C`remove\*(C'\fR' or '\f(CW\*(C`add\*(C'\fR'). This is the actual mode rather than the mnemomic used for configuration. .SH "COPYRIGHT" .IX Header "COPYRIGHT" 2005 Benjamin Franz . .SH "LICENSE" .IX Header "LICENSE" This program is free software; you can redistribute it and/or modify it under the same terms and conditions as Perl itself. .PP This means that you can, at your option, redistribute it and/or modify it under either the terms the \s-1GNU\s0 Public License (\s-1GPL\s0) version 1 or later, or under the Perl Artistic License. .PP See http://dev.perl.org/licenses/ .SH "DISCLAIMER" .IX Header "DISCLAIMER" \&\s-1THIS\s0 \s-1SOFTWARE\s0 \s-1IS\s0 \s-1PROVIDED\s0 ``\s-1AS\s0 \s-1IS\s0'' \s-1AND\s0 \s-1WITHOUT\s0 \s-1ANY\s0 \s-1EXPRESS\s0 \&\s-1OR\s0 \s-1IMPLIED\s0 \s-1WARRANTIES\s0, \s-1INCLUDING\s0, \s-1WITHOUT\s0 \s-1LIMITATION\s0, \s-1THE\s0 \&\s-1IMPLIED\s0 \s-1WARRANTIES\s0 \s-1OF\s0 \s-1MERCHANTABILITY\s0 \s-1AND\s0 \s-1FITNESS\s0 \s-1FOR\s0 A \&\s-1PARTICULAR\s0 \s-1PURPOSE\s0. .PP Use of this software in any way or in any form, source or binary, is not allowed in any country which prohibits disclaimers of any implied warranties of merchantability or fitness for a particular purpose or any disclaimers of a similar nature. .PP \&\s-1IN\s0 \s-1NO\s0 \s-1EVENT\s0 \s-1SHALL\s0 I \s-1BE\s0 \s-1LIABLE\s0 \s-1TO\s0 \s-1ANY\s0 \s-1PARTY\s0 \s-1FOR\s0 \s-1DIRECT\s0, \s-1INDIRECT\s0, \&\s-1SPECIAL\s0, \s-1INCIDENTAL\s0, \s-1OR\s0 \s-1CONSEQUENTIAL\s0 \s-1DAMAGES\s0 \s-1ARISING\s0 \s-1OUT\s0 \s-1OF\s0 \s-1THE\s0 \&\s-1USE\s0 \s-1OF\s0 \s-1THIS\s0 \s-1SOFTWARE\s0 \s-1AND\s0 \s-1ITS\s0 \s-1DOCUMENTATION\s0 (\s-1INCLUDING\s0, \s-1BUT\s0 \s-1NOT\s0 \&\s-1LIMITED\s0 \s-1TO\s0, \s-1LOST\s0 \s-1PROFITS\s0) \s-1EVEN\s0 \s-1IF\s0 I \s-1HAVE\s0 \s-1BEEN\s0 \s-1ADVISED\s0 \s-1OF\s0 \s-1THE\s0 \&\s-1POSSIBILITY\s0 \s-1OF\s0 \s-1SUCH\s0 \s-1DAMAGE\s0 .SH "BUGS" .IX Header "BUGS" None known. .SH "TODO" .IX Header "TODO" Nothing. .SH "VERSION" .IX Header "VERSION" 1.05 released 2005.09.13