sironekotoro / Zengin-Perl

Other
0 stars 0 forks source link

コマンドライン用スクリプトで意図しない結果が返る #5

Open sironekotoro opened 1 year ago

sironekotoro commented 1 year ago

Can't call method "code" on an undefined value at zengin line 121.

銀行名の引数を銀行名にした場合、エラーが表示される。

$ perl zengin みずほ 001
============================
銀行コード    : 0001
銀行名      : みずほ
銀行名(ひらがな): みずほ
銀行名(カタカナ): ミズホ
銀行名(ローマ字): mizuho
============================
支店コード    : 001
支店名      : 東京営業部
支店名(ひらがな): とうきよう
支店名(カタカナ): トウキヨウ
支店名(ローマ字): toukiyou
Can't call method "code" on an undefined value at zengin line 121.

$ perl zengin 三菱UFJ 001
============================
銀行コード    : 0005
銀行名      : 三菱UFJ
銀行名(ひらがな): みつびしゆ-えふじえい
銀行名(カタカナ): ミツビシユ-エフジエイ
銀行名(ローマ字): mitsubishiyu-efujiei
============================
支店コード    : 001
支店名      : 本店
支店名(ひらがな): ほんてん
支店名(カタカナ): ホンテン
支店名(ローマ字): honten
Can't call method "code" on an undefined value at zengin line 121.

第一引数を銀行番号にした場合にはエラーは表示されないが、2回表示される。

$ perl zengin 0001 001
============================
銀行コード    : 0001
銀行名      : みずほ
銀行名(ひらがな): みずほ
銀行名(カタカナ): ミズホ
銀行名(ローマ字): mizuho
============================
支店コード    : 001
支店名      : 東京営業部
支店名(ひらがな): とうきよう
支店名(カタカナ): トウキヨウ
支店名(ローマ字): toukiyou
============================
銀行コード    : 0001
銀行名      : みずほ
銀行名(ひらがな): みずほ
銀行名(カタカナ): ミズホ
銀行名(ローマ字): mizuho
============================
支店コード    : 001
支店名      : 東京営業部
支店名(ひらがな): とうきよう
支店名(カタカナ): トウキヨウ
支店名(ローマ字): toukiyou

$ perl zengin 0005 001
============================
銀行コード    : 0005
銀行名      : 三菱UFJ
銀行名(ひらがな): みつびしゆ-えふじえい
銀行名(カタカナ): ミツビシユ-エフジエイ
銀行名(ローマ字): mitsubishiyu-efujiei
============================
支店コード    : 001
支店名      : 本店
支店名(ひらがな): ほんてん
支店名(カタカナ): ホンテン
支店名(ローマ字): honten
============================
銀行コード    : 0005
銀行名      : 三菱UFJ
銀行名(ひらがな): みつびしゆ-えふじえい
銀行名(カタカナ): ミツビシユ-エフジエイ
銀行名(ローマ字): mitsubishiyu-efujiei
============================
支店コード    : 001
支店名      : 本店
支店名(ひらがな): ほんてん
支店名(カタカナ): ホンテン
支店名(ローマ字): honten
sironekotoro commented 1 year ago

この if文の中のfor文の中のif文(もう最悪)の $result を流用して文字列連結して継ぎ足してる。

https://github.com/sironekotoro/Zengin-Perl/blob/d539f6653146b75dfbe53cb2cce05661828f0bea/script/zengin#L63

https://github.com/sironekotoro/Zengin-Perl/blob/d539f6653146b75dfbe53cb2cce05661828f0bea/script/zengin#L78-L79

https://github.com/sironekotoro/Zengin-Perl/blob/d539f6653146b75dfbe53cb2cce05661828f0bea/script/zengin#L92

https://github.com/sironekotoro/Zengin-Perl/blob/d539f6653146b75dfbe53cb2cce05661828f0bea/script/zengin#L97