少し問題が発生しました。もともと、次の形式の入力があります。
12345 apple
12 orange
最初の列を $num として保存し、2 番目の列を $fruit として保存しました。出力を次のようにしたい (以下を参照)。$num がすべて同じ長さであるかのように、出力を揃えたいと思います。実際には、$num は可変長の数値で構成されます。
12345 apple
12 orange
提案どおり、次のコードを使用します。
$line = sprintf "%--10s %-20s", $num, $fruit;
このソリューションはコマンドライン表示ではうまく機能しますが、HTML 経由で表示しようとすると、このフォーマットは保持されません。例えば..
print "<html><head></head><body>
$line
</body></html>";
これにより、フォーマット前のオリジナルと同じ出力が生成されます。HTML Webベースの表示でsprintfフォーマットを保持する方法について提案はありますか? $num を空白で埋めようとしましたが、次のコードはうまくいかないようです。
$num .= (" " x (10 - length($num)));
とにかく、私は何か提案をいただければ幸いです。ありがとう!