#!/usr/bin/perl use warnings; use strict; { package DecHex; use Scalar::Util qw(dualvar); sub create { my $num = shift; my $string = sprintf '%X', $num; my $self = dualvar($num, $string); } } my $x = DecHex::create 0xFE; print "$x, ", 0+$x, "\n";