0
|
1 #!/usr/bin/perl -w
|
|
2
|
|
3 use strict;
|
|
4 use Carp;
|
|
5 use Getopt::Long;
|
|
6 use English;
|
|
7 use Pod::Usage;
|
|
8 use Data::Dumper;
|
|
9
|
|
10 my ( $help, $man, $version, $usage );
|
|
11 my ($infile, $outfile);
|
|
12 my $optionOK = GetOptions(
|
|
13 'h|help|?' => \$help,
|
|
14 'man' => \$man,
|
|
15 'usage' => \$usage,
|
|
16 'v|version' => \$version,
|
|
17 'i|input=s' => \$infile,
|
|
18 'o|output=s' => \$outfile,
|
|
19 );
|
|
20
|
|
21 pod2usage(2) if($man);
|
|
22 pod2usage( -verbose => 99, -sections => "USAGE|REQUIRED ARGUMENTS|OPTIONS" )
|
|
23 if($help or $usage or !$infile or !$outfile);
|
|
24 pod2usage( -verbose => 99, -sections => "VERSION") if($version);
|
|
25
|
|
26 open my $IN "<$infile" or croak "can't open $infile:$OS_ERROR";
|
|
27 while(my $line = <$IN>) {
|
|
28
|
|
29 }
|
|
30 =head1 NAME
|
|
31
|
|
32 <application name> - <One-line description of application's purpose>
|
|
33
|
|
34
|
|
35 =head1 VERSION
|
|
36
|
|
37 The initial template usually just has:
|
|
38
|
|
39 This documentation refers to <application name> version 0.0.1.
|
|
40
|
|
41
|
|
42 =head1 USAGE
|
|
43
|
|
44 # Brief working invocation example(s) here showing the most common usage(s)
|
|
45
|
|
46 # This section will be as far as many users ever read,
|
|
47 # so make it as educational and exemplary as possible.
|
|
48 =head1 REQUIRED ARGUMENTS
|
|
49
|
|
50 A complete list of every argument that must appear on the command line.
|
|
51 when the application is invoked, explaining what each of them does, any
|
|
52 restrictions on where each one may appear (i.e., flags that must appear
|
|
53 before or after filenames), and how the various arguments and options
|
|
54 may interact (e.g., mutual exclusions, required combinations, etc.)
|
|
55
|
|
56 If all of the application's arguments are optional, this section
|
|
57 may be omitted entirely.
|
|
58
|
|
59 =head1 OPTIONS
|
|
60
|
|
61 A complete list of every available option with which the application
|
|
62 can be invoked, explaining what each does, and listing any restrictions,
|
|
63 or interactions.
|
|
64
|
|
65 If the application has no options, this section may be omitted entirely.
|
|
66
|
|
67
|
|
68 =head1 DESCRIPTION
|
|
69
|
|
70 A full description of the application and its features.
|
|
71 May include numerous subsections (i.e., =head2, =head3, etc.).
|
|
72
|
|
73
|
|
74 =head1 DIAGNOSTICS
|
|
75
|
|
76 A list of every error and warning message that the application can generate
|
|
77 (even the ones that will "never happen"), with a full explanation of each
|
|
78 problem, one or more likely causes, and any suggested remedies. If the
|
|
79 application generates exit status codes (e.g., under Unix), then list the exit
|
|
80 status associated with each error.
|
|
81
|
|
82 =head1 CONFIGURATION AND ENVIRONMENT
|
|
83
|
|
84 A full explanation of any configuration system(s) used by the application,
|
|
85 including the names and locations of any configuration files, and the
|
|
86 meaning of any environment variables or properties that can be set. These
|
|
87 descriptions must also include details of any configuration language used.
|
|
88
|
|
89
|
|
90 =head1 DEPENDENCIES
|
|
91
|
|
92 A list of all the other modules that this module relies upon, including any
|
|
93 restrictions on versions, and an indication of whether these required modules are
|
|
94 part of the standard Perl distribution, part of the module's distribution,
|
|
95 or must be installed separately.
|
|
96
|
|
97
|
|
98 =head1 INCOMPATIBILITIES
|
|
99
|
|
100 A list of any modules that this module cannot be used in conjunction with.
|
|
101 This may be due to name conflicts in the interface, or competition for
|
|
102 system or program resources, or due to internal limitations of Perl
|
|
103 (for example, many modules that use source code filters are mutually
|
|
104 incompatible).
|
|
105
|
|
106
|
|
107 =head1 BUGS AND LIMITATIONS
|
|
108
|
|
109 A list of known problems with the module, together with some indication of
|
|
110 whether they are likely to be fixed in an upcoming release.
|
|
111
|
|
112 Also a list of restrictions on the features the module does provide:
|
|
113 data types that cannot be handled, performance issues and the circumstances
|
|
114 in which they may arise, practical limitations on the size of data sets,
|
|
115 special cases that are not (yet) handled, etc.
|
|
116
|
|
117 The initial template usually just has:
|
|
118
|
|
119 There are no known bugs in this module.
|
|
120 Please report problems to <Maintainer name(s)> (<contact address>)
|
|
121 Patches are welcome.
|
|
122
|
|
123 =head1 AUTHOR
|
|
124
|
|
125 <Author name(s)> (<contact address>)
|
|
126
|
|
127
|
|
128
|
|
129 =head1 LICENCE AND COPYRIGHT
|
|
130
|
|
131 Copyright (c) <year> <copyright holder> (<contact address>). All rights reserved.
|
|
132
|
|
133 followed by whatever licence you wish to release it under.
|
|
134 For Perl code that is often just:
|
|
135
|
|
136 This module is free software; you can redistribute it and/or
|
|
137 modify it under the same terms as Perl itself. See L<perlartistic>.
|
|
138
|
|
139 This program is distributed in the hope that it will be useful,
|
|
140 but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
141 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
142
|