For simple formatting (columns same size, numbers with 0 in front etc.) use printf (sprintf for internal handling of scalars). This is probably what you want. Next stage might be usage of print <<"END". That will allow scalars to be used ('END' wont).
Most advanced way is then 'formats'. These allow much more control in what is printed where and how (man perlform).