#! @im_path_perl@ ################################################################ ### ### imali ### ### Author: Internet Message Group ### Created: Apr 23, 1997 ### Revised: Mar 8, 2005 ### BEGIN { @im_my_siteperl@ @im_src_siteperl@ }; $Prog = 'imali'; my $VERSION_DATE = "20050308"; my $VERSION_NUMBER = "148"; my $VERSION = "${Prog} version ${VERSION_DATE}(IM${VERSION_NUMBER})"; my $VERSION_INFORMATION = "${Prog} (IM ${VERSION_NUMBER}) ${VERSION_DATE} Copyright (C) 1999 IM developing team This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. "; ## ## Require packages ## use IM::Config; use IM::Util; use IM::Alias; use integer; use strict; use vars qw($Prog $EXPLANATION @OptConfig $opt_host $opt_file $opt_addrbook $opt_verbose $opt_debug $opt_help $opt_version); ## ## Environments ## $EXPLANATION = "$VERSION display aliases for mail/news address Usage: $Prog [OPTIONS] [TARGETS...] "; @OptConfig = ( 'host,H;b;;' => "Lookup hosts alias file", 'file;s;;' => "Set aliases file", 'addrbook;s;;' => "Set Addrbook file", 'verbose;b;;' => 'With verbose messages', 'debug;d;;' => "With debug message", 'help;b;;' => "Display this help and exit", 'version,V;b;;' => "Output version information and exit", ); ## ## Profile and option processing ## init_opt(\@OptConfig); read_cfg(); read_opt(\@ARGV); # help? print("${VERSION_INFORMATION}") && exit $EXIT_SUCCESS if $opt_version; help($EXPLANATION) && exit $EXIT_SUCCESS if $opt_help; debug_option($opt_debug) if $opt_debug; ## ## Main ## # parse argument my @targets = @ARGV; if (! $opt_host) { alias_read($opt_file, $opt_addrbook); if (scalar(@targets) == 0) { alias_print(); } else { my($alias, $addr); foreach $alias (@targets) { $addr = alias_lookup($alias); if ($addr) { print $addr, "\n"; } else { im_warn("Unknown mail alias: $alias\n"); } } } } else { hosts_read(expand_path($opt_file)); if (scalar(@targets) == 0) { hosts_print(); } else { my($alias, $host); foreach $alias (@targets) { $host = hosts_lookup($alias); if ($host) { print $host, "\n"; } else { im_warn("Unknown host alias: $alias\n"); } } } } exit $EXIT_SUCCESS; __END__ =head1 NAME imali - display aliases for mail/news address =head1 SYNOPSIS B [OPTIONS] [TARGETS...] =head1 DESCRIPTION The I command searches the named alias files for each of the given aliases. It creates a list of addresses for those aliases, and writes that list on standard output. If I are omitted, all aliases are displayed. This command is provided by IM (Internet Message). =head1 OPTIONS =over 5 =item I<-H, --host={on,off}> Lookup hosts alias file. =item I<-f, --file=FILE> Use I as alias file. Default value is ~/.im/Aliases. =item I<-a, --addrbook=FILE> Use I as addrbook file. Default value is ~/.im/Addrbook. =item I<-v, --verbose={on,off}> Print verbose messages when running. =item I<--debug=DEBUG_OPTION> Print debug messages when running. =item I<-h, --help> Display help message and exit. =item I<--version> Output version information and exit. =back =head1 COPYRIGHT IM (Internet Message) is copyrighted by IM developing team. You can redistribute it and/or modify it under the modified BSD license. See the copyright file for more details. =cut ### Copyright (C) 1997, 1998, 1999 IM developing team ### All rights reserved. ### ### Redistribution and use in source and binary forms, with or without ### modification, are permitted provided that the following conditions ### are met: ### ### 1. Redistributions of source code must retain the above copyright ### notice, this list of conditions and the following disclaimer. ### 2. Redistributions in binary form must reproduce the above copyright ### notice, this list of conditions and the following disclaimer in the ### documentation and/or other materials provided with the distribution. ### 3. Neither the name of the team nor the names of its contributors ### may be used to endorse or promote products derived from this software ### without specific prior written permission. ### ### THIS SOFTWARE IS PROVIDED BY THE TEAM AND CONTRIBUTORS ``AS IS'' AND ### ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ### IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR ### PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE TEAM OR CONTRIBUTORS BE ### LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR ### CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF ### SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR ### BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, ### WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE ### OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN ### IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ### Local Variables: ### mode: perl ### End: