#!/usr/bin/env perl use 5.010; use warnings; my $suf = 42; my $my_string = Sillystring->new('Prefix_', \$suf); say $my_string; $suf = 31; say $my_string; package Sillystring; use Carp; use overload '""' => sub { my $self = shift; $self->{prefix} . ${$self->{suffix}} }; sub new { my ($class, $prefix, $suffix) = @_; croak "Suffix must be a SCALAR ref" unless ref($suffix) eq 'SCALAR'; bless { prefix => $prefix, suffix => $suffix, }, $class; } 1;