Formato de salida con 'printf' en Perl

Estoy tratando de formatear mi salida para que parezca que está en columnas. Estoy tratando de usar elprintf función.

Esto es lo que tengo:

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])
    }
}

Estoy tratando de hacerlo para que el segundo printf dentro de laif&nbsp;declaración de lafor&nbsp;el bucle se alinea con la "Cantidad", "Desc.", "Unidad \ $6$quot; y "Total".