0


0

すべて、

一番下のコードをチェックのように見せようとしています。 トラブルシューティングを手伝ってもらえますか。

ありがとう、フランク

format STDOUT = @ <<<<<<<<<<<<<<<<<<<<<<<<<<<<> >>>>>>>>>>>> >>>>>>>>>>>> $ chkno $ chkno $最初の$最後の$ addr [0] $ addr [1] $電話番号$

次の注文への支払い:$ payee $金額

$ memoスタンプ付き

nova> perl proj3_3.plカンマなし変数リストの使用は、proj3_3.plの48行目では非推奨です。 名前 "main :: date"は一度だけ使われました:proj3_3.plの24行目にありがちな誤字です。 名前 "main :: last"は一度だけ使われました:proj3_3.plの12行目にありがちな誤字です。 名前 "main :: payee"は一度だけ使われました:proj3_3.plの27行目にありがちな誤字です。 "main :: phone"という名前は一度だけ使われました:proj3_3.plの21行目にありがちな誤字です。 "main :: amount"という名前は一度だけ使われました:proj3_3.plの30行目にありがちな誤字です。 "main :: first"という名前は一度だけ使われていました:proj3_3.plの9行目にありがちな誤字です。 "main :: memo"という名前は一度だけ使われました:proj3_3.plの33行目にありがちな誤字 あなたの小切手番号は何ですか? あなたのファーストネームは何ですか? あなたの姓は何ですか? adsfあなたの番地は何ですか(すなわち 555どこでもセント)? asdfあなたの市、州、郵便番号(つまり、 ロサンゼルス、カリフォルニア州、90210) あなたの電話番号は何ですか? df日付は? asdf支払い先は誰ですか? 小切手金額とは何ですか? fa小切手の目的(メモ)とは何ですか? sdf asdf asdf $最初の$最後の$ addr [0] $ addr [1] $電話番号$日付

次の注文への支払い:$ payee $金額

$ memoの刻印入り。

フォーマットSTDOUT_TOP = ----------------------------------------------- ---------------

編集…​ すみません、これに新しいです。 これが私のコードです:

#!/ usr / bin / perl -w

FileHandleを使う

あなたの小切手番号は何ですか? "; chomp($ chkno =);

印刷 "あなたの名前は何ですか? "; chomp($ first =);

"あなたの名字は何ですか? "; chomp($ last =);

print "あなたの住所は何ですか。 555どこでもセント)? "; chomp($ addr [0] =);

「あなたの市、州、郵便番号は何ですか。 ロサンゼルス、カリフォルニア州、90210) "; chomp($ addr [1] =);

印刷 "あなたの電話番号は何ですか? "; chomp($ phone =);

印刷 "日付は何ですか? "; chomp($ date =);

印刷 "受取人はだれですか? "; chomp($ payee =);

小切手金額とは何ですか? "; chomp($ amount =);

"小切手の目的(MEMO)とは何ですか? "; chomp($ memo =);

#print " "; #chomp($ =); #print"? "; #chomp($ =);

#@ >>>>右寄せされた#@ ||||中央揃え#@ ####。##数値フィールドホルダー#@ *複数行フィールドホルダー

#この行フォーマットは自動的にCHECKフォーマットに適用されます。 >>>>>>>>>>>>>>>>>>>>> $ chkno $ chkno $最初の$最後の$ addr [0] $ addr [1] $ phone $ date

次の注文への支払い:$ payee $金額

$ memoの刻印入り。

#とこのページヘッダフォーマットは自動的にCHECKフォーマットに適用されますSTDOUT_TOP = ------------------------------------ --------------------------

.  STDOUTを書きます。 #出力に送る

1 Answer


4


フォーマットはフォーマット行とそれに続くその変数に続く変数(コンマ区切り)から成ります:

#!/usr/bin/perl

use strict;
use warnings;

our $first      = "Chas.";
our $last       = "Owens";
our $chkno      = "123456";
our @addr       = ("123 Nowhere Lane", "Citysville, Townshire, 12345");
our $phone      = "123-456-7890";
our $date       = "2009-08-10";
our $payee      = "Stack Overflow";
our $amount     = "0.02";
our $amount_str = "no dollars and two cents";
our $memo       = "my two cents worth";

write;

format STDOUT =
 @<<<<<<<<<<<<< @<<<<<<<<<<<<<<<<  @>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 $first,        $last,             $chkno
 @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
 $addr[0]
 @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<        Date:
 $addr[1]
 @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<        @<<<<<<<<<<<<<<<<<<<<<<<
 $phone,                                 $date

Pay to the
Order of:  @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<  @#######.##
           $payee,                                    $amount
@<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< dollars
$amount_str
                                        Signature
Memo: @<<<<<<<<<<<<<<<<<<<<<<<<<<<      _________________________
      $memo
.
それにもかかわらず、フォーマットはいくつかの本当に悪い欠点を持っていて、あなたは本当に別の解決策を使うべきです。 もう一つの選択肢はhttp://search.cpan.org/dist/Perl6-Form/Form.pm [`Perl6

Form`]を使うことです。 これはPerl 6のフォーマット草案のバックポートです。

#!/usr/bin/perl

use strict;
use warnings;

use Perl6::Form;

my $first      = "Chas.";
my $last       = "Owens";
my $chkno      = "123456";
my @addr       = ("123 Nowhere Lane", "Citysville, Townshire, 12345");
my $phone      = "123-456-7890";
my $date       = "2009-08-10";
my $payee      = "Stack Overflow";
my $amount     = "0.02";
my $amount_str = "no dollars and two cents";
my $memo       = "my two cents worth";

print form
 "{<<<<<<<<<<<<<} {<<<<<<<<<<<<<<<<}  {>>>>>>>>>>>>>>>>>>>>>>>>>>>>>}",
 $first,        $last,             $chkno,
 "{<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<}",
 $addr[0],
 "{<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<}        Date:",
 $addr[1],
 "{<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<}        {<<<<<<<<<<<<<<<<<<<<<<<}",
 $phone,                                 $date,
 "",
"Pay to the",
'Order of:  {<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<}  ${>>>>>>>.<<}',
            $payee,                                     $amount,
"{<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<} dollars",
$amount_str,
"                                        Signature",
"Memo: {<<<<<<<<<<<<<<<<<<<<<<<<<<<}      _________________________",
       $memo;