3

AS /400でRPGIVのようなものによっておそらく解釈されているファイルを書く必要があります(しかし、私はそれを知りません)。このファイルは、MySQLデータベースからデータを読み取り、指定された形式で書き込むことによって作成されます。非常に大きくなる可能性があります(GBで測定される可能性がありますが、まだ決定されていません)。formatXslateやTemplateToolkitのようなものは、固定幅(HTML)でないもののために設計されているので、今のところ、Perlの組み込みが実際に私の最善の策かもしれないと思っています。私の唯一の懸念は、format条件文がないように見え、それらが必要なように見えることです(フィールドAが設定されている場合は左寄せ、そうでない場合は右寄せと埋め込みの形式が見つかりました)

4

2 に答える 2

4

頭に浮かぶ他の可能性は、packsprintfファミリーの関数です。

pack右寄せのテキストをサポートしているとは思わないので、それはオプションではありません。

それは(s)printfを残します。正当化のための条件付きロジックをサポートするために、プログラムでフォーマット指定子を作成できます。

于 2012-09-03T23:53:09.457 に答える
0

Template Toolkitは、固定幅のフォーマットされたファイルを作成する際に役立つ仕事をすることができます。秘訣は、テンプレートを使用してファイルとレコードの構造を記述することですが、Perl関数で各フィールドのデータをフォーマットします。

テンプレートをスキップして、Perlですべてのフォーマットを行う方が簡単な場合があります。いずれにせよ、フィールドをどのようにフォーマットする必要があるかを考慮する必要があります。私の経験sprintfでは、固定幅のフォーマットされたファイルに必要なフォーマットのケースの多くを処理する方が優れています。おそらく、いくつかのヘルパー関数を実装する必要があります(運が悪ければ、ASCIIでエンコードされたEBCDIC / COBOL符号付き数値など)。

従来の固定幅フォーマットのファイルには1000の奇妙な特殊なケースがあり、XMLデータファイルのようにするのにほぼ十分です。通常、ファイルをフォーマットするための最良の方法を決定するのは、最終的に最も奇妙な特殊なケースです。

于 2012-09-04T14:47:43.097 に答える