0

Net::TelnetHP ProCurve スイッチに接続してログインし、構成をバックアップするために使用しています。waitforただし、 VT100/ANSI 制御文字を返す問題に遭遇しました。

< 0x00000: ff fd 18 ff  fd 1f ff fb  01 1b 5b 32  4a 1b 5b 3f  ..........[2J.[?
< 0x00010: 37 6c 1b 5b  33 3b 32 33  72 1b 5b 3f  36 6c 1b 5b  7l.[3;23r.[?6l.[
< 0x00020: 31 3b 31 48  1b 5b 3f 32  35 6c 1b 5b  31 3b 31 48  1;1H.[?25l.[1;1H
< 0x00030: 48 50 20 4a  39 37 32 38  41 20 32 39  32 30 2d 34  HP J9728A 2920-4
< 0x00040: 38 47 20 53  77 69 74 63  68 0d 0d 0a  53 6f 66 74  8G Switch...Soft
< 0x00050: 77 61 72 65  20 72 65 76  69 73 69 6f  6e 20 57 42  ware revision WB
< 0x00060: 2e 31 35 2e  31 32 2e 30  30 31 35 0d  0d 0a 0d 0d  .15.12.0015.....
< 0x00070: 0a 43 6f 70  79 72 69 67  68 74 20 28  43 29 20 31  .Copyright (C) 1
< 0x00080: 39 39 31 2d  32 30 31 34  20 48 65 77  6c 65 74 74  991-2014 Hewlett
< 0x00090: 2d 50 61 63  6b 61 72 64  20 44 65 76  65 6c 6f 70  -Packard Develop
< 0x000a0: 6d 65 6e 74  20 43 6f 6d  70 61 6e 79  2c 20 4c 2e  ment Company, L.
< 0x000b0: 50 2e 0d 0a  0d 0a 20 20  20 20 20 20  20 20 20 20  P.....

残念ながら、これwaitforをしようとするwaitfor(/^password:/i)と、それらの制御文字を含む文字列が返されるか、正規表現が一致しないため永遠に待機するため、これは失敗します。

Net::Telnetこれらの制御文字を自動的に削除する方法はありますか? waitforASCII 印刷可能文字だけを気にする方法はありますか?

4

0 に答える 0