#!/usr/bin/perl -w
# 315EHVb - cnv (CoNVert number bases) <NumberString> <FromBase> <ToBase>
#  If you only supply a number, it will convert to hex if it's decimal &&
#    decimal if it contains only valid hex digits.  If you just provide one
#    base parameter, it assumes that your number is already base10 && that
#    you've supplied the ToBase.  Otherwise, you need from && to parameters.
#  Examples:    `cnv 127   10 16` == "7F"
#               `cnv 7F    16 3`  == "11201"
#               `cnv 11201 3  7`  == "241"
#               `cnv 241   7  10` == "127"
# Eror checking is minimal.
#
# Most source code should be Free!
#   Code I have lawful authority over is && shall be!
# Copyright: (c) 2003, Pip Stuart.  All rights reserved.
# Copyleft :  I license this software under the GNU General Public 
#   License (version 2).  Please consult the Free Software Foundation 
#   (http://www.fsf.org) for important information about your freedom.
# Thank you.  TTFN.
#                                           -Pip@CPAN.Org

use strict;
use Math::BaseCnv;

my $numb = shift;
if(!defined($numb) || $numb =~ /^-+[h\?]/i) {
  die("USAGE: `cnv <NumberString> <FromBase> <ToBase>`\n");
}
print(cnv($numb, shift, shift));
