#! /usr/bin/perl -w #-------------------------------------------------------------------------- # Examine a character to get dec and hex values #-------------------------------------------------------------------------- use strict; use File::Basename; my $input = shift; my $basename = basename $0; my $usage = < $basename 0x $basename d USAGE $input || die "$usage\n"; my ($char, $dec, $hex); SWITCH: { # It's hex $input =~ /^0x/ && do { $hex = $input; $dec = hex $hex; $char = chr $dec; last SWITCH; }; # It's decimal $input =~ /^d(\d{1,3})/ && do { $dec = $1; $char = chr $dec; $hex = sprintf "0x%lx", $dec; last SWITCH; }; # Everything else, probably char 1 && do { $char = $input; $dec = ord $char; $hex = sprintf "0x%lx", $dec; last SWITCH; }; } printf "char: %s dec: %i hex: %s\n", $char, $dec, $hex;