my $agency = 'XY'; # A string between 1 and 3 characters long my $date = '2007/6/3'; # Or whatever date format my $type = 'T'; # A single character #### my $string = join '', sprintf( '%-3s', $agency ), sprintf( '%04d%02d%02d', split /\//, $date ), $type;