前スペース補填
お世話になります。
いろいろ編集パタン等勉強しているつもりですが、
分かりませんで、またここに来てしまいました。
ちょっと前に『前ゼロ』を教えていただきました。
今度は『前スペース』をやりたいのですが、
悩んでいます。
そもそも「printf」と「sprintf」との区別も付きません。
調べた結果では、7桁で前スペースにするには、
$kmk = sprintf("%7d",$kmk);
でよいのかなと思います。
そして、$kmkが"123"なら”bbbb123”(bはスペース)となると思うのですが、
画面に表示されたのを見ると、単純に”123”となってしまいます。
以下に実際を表示しましたので、宜しくお願いします。
まず、やっていることは、
cgiで、有効桁だけでセットされているファイルを読み、
画面にリストします。
その際、前スペースにより各項目の位置を揃えたいというモノです。
【ファイル(@kariire)の中身】
47213<>1<>20080503<>3000<>50000<>
38221<>5<>20080508<>25000<>100000<>
18994<>1<>20080506<>2700<>385000<>
【cgiの中身】
foreach $line (@kariire) {
local($kmk1,$kmk2,$kmk3,$kmk4,$kmk5) = split(/<>/,$line);
$kmk1 = sprintf("%5d",$kmk1); #氏名コード
$kmk2 = sprintf("%1d",$kmk2); #借入事由
$kmk3 = sprintf("%8d",$kmk3); #異動日
$kmk4 = sprintf("%6d",$kmk4); #借入額
$kmk5 = sprintf("%7d",$kmk5); #限度額残
&output;
}
sub output {
print <<"STOPP";
$kmk1,$kmk2,$kmk3,$kmk4,$kmk5
<br>
STOPP
}
以上です、宜しくお願いします。
お礼
早速有り難うございました。 出来ました、3桁に揃いました。 perl講座勉強します。 やはり分かっていないと探すのも出来ないのですね。 お世話になりました。