my %formats = ( 1 => ' %s ', 2 => ' %s ', 3 => ' %s', 4 => '%s', ); for my $x ("a", "bb", "ccc", "dddd") { printf $formats{length($x)}, $x; print "\n"; } ###################### a bb ccc dddd