From da58518a2cb8f5d17cba70d30685d24140e5f7e6 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=C3=98yvind=20A=2E=20Holm?= Date: Tue, 28 Feb 2012 17:03:49 +0100 Subject: [PATCH] $ std -l perl wpt-dupdesc d19bcfa8-6225-11e1-8aa4-4f0ad2b13411 --- wpt-dupdesc | 190 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 190 insertions(+) create mode 100755 wpt-dupdesc diff --git a/wpt-dupdesc b/wpt-dupdesc new file mode 100755 index 0000000..ffca76d --- /dev/null +++ b/wpt-dupdesc @@ -0,0 +1,190 @@ +#!/usr/bin/perl + +#======================================================================= +# wpt-dupdesc +# File ID: c3b793a4-6225-11e1-bae9-37679d2dbe43 +# [Description] +# +# Character set: UTF-8 +# ©opyleft 2012– Øyvind A. Holm +# License: GNU General Public License version 3 or later, see end of +# file for legal stuff. +#======================================================================= + +use strict; +use warnings; +use Getopt::Long; + +local $| = 1; + +our $Debug = 0; + +our %Opt = ( + + 'debug' => 0, + 'help' => 0, + 'verbose' => 0, + 'version' => 0, + +); + +our $progname = $0; +$progname =~ s/^.*\/(.*?)$/$1/; +our $VERSION = '0.00'; + +Getopt::Long::Configure('bundling'); +GetOptions( + + 'debug' => \$Opt{'debug'}, + 'help|h' => \$Opt{'help'}, + 'verbose|v+' => \$Opt{'verbose'}, + 'version' => \$Opt{'version'}, + +) || die("$progname: Option error. Use -h for help.\n"); + +$Opt{'debug'} && ($Debug = 1); +$Opt{'help'} && usage(0); +if ($Opt{'version'}) { + print_version(); + exit(0); +} + +while (<>) { + print; +} + +sub print_version { + # Print program version {{{ + print("$progname v$VERSION\n"); + return; + # }}} +} # print_version() + +sub usage { + # Send the help message to stdout {{{ + my $Retval = shift; + + if ($Opt{'verbose'}) { + print("\n"); + print_version(); + } + print(<<"END"); + +Usage: $progname [options] [file [files [...]]] + +Options: + + -h, --help + Show this help. + -v, --verbose + Increase level of verbosity. Can be repeated. + --version + Print version information. + --debug + Print debugging messages. + +END + exit($Retval); + # }}} +} # usage() + +sub msg { + # Print a status message to stderr based on verbosity level {{{ + my ($verbose_level, $Txt) = @_; + + if ($Opt{'verbose'} >= $verbose_level) { + print(STDERR "$progname: $Txt\n"); + } + return; + # }}} +} # msg() + +sub D { + # Print a debugging message {{{ + $Debug || return; + my @call_info = caller; + chomp(my $Txt = shift); + my $File = $call_info[1]; + $File =~ s#\\#/#g; + $File =~ s#^.*/(.*?)$#$1#; + print(STDERR "$File:$call_info[2] $$ $Txt\n"); + return(''); + # }}} +} # D() + +__END__ + +# Plain Old Documentation (POD) {{{ + +=pod + +=head1 NAME + + + +=head1 SYNOPSIS + + [options] [file [files [...]]] + +=head1 DESCRIPTION + + + +=head1 OPTIONS + +=over 4 + +=item B<-h>, B<--help> + +Print a brief help summary. + +=item B<-v>, B<--verbose> + +Increase level of verbosity. Can be repeated. + +=item B<--version> + +Print version information. + +=item B<--debug> + +Print debugging messages. + +=back + +=head1 BUGS + + + +=head1 AUTHOR + +Made by Øyvind A. Holm Ssunny@sunbase.orgE>. + +=head1 COPYRIGHT + +Copyleft © Øyvind A. Holm Esunny@sunbase.orgE +This is free software; see the file F for legalese stuff. + +=head1 LICENCE + +This program is free software: you can redistribute it and/or modify it +under the terms of the GNU General Public License as published by the +Free Software Foundation, either version 3 of the License, or (at your +option) any later version. + +This program is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +See the GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program. +If not, see L. + +=head1 SEE ALSO + +=cut + +# }}} + +# vim: set fenc=UTF-8 ft=perl fdm=marker ts=4 sw=4 sts=4 et fo+=w : -- 2.11.4.GIT