Formatando a saída com 'printf' em Perl

Estou tentando formatar minha saída para parecer que está em colunas. Estou tentando usar oprintf função.

Aqui está o que eu tenho:

printf("%s %10s %12s %10s\n", "Qty", "Desc.", "Unit \$", "Total");

for ($he = 0; $he <= 6; $he++) {
    if (@quantity[$he] != 0) {
        printf("%d %10s %12.2f %10.2f\n", @quantity[$he], @selections[$he], @prices[$he], @prices[$he] * @quantity[$he])
    }
}

Estou tentando fazer com que o segundo printf dentro doif declaração dofor loop alinha-se com o "Qty", "Desc", "Unit \ $6$quot; e "Total".

questionAnswers(2)

yourAnswerToTheQuestion