#assuming char width values in inches my %char_width(a=>1, b=>1.5); #etc.etc. #pseudo-code my $cell_width; while(length($string) != 0) { my $char = ($string =~ s/^(.{1})//); $cell_width += $char_width{$char}; }; $cell_width /= 72; #### my $cell_width = length($string) * $char_width;