Perl/Regex解析一个字符串

Joh*_*n R 0 regex perl parsing

我是Perl的新手,有点难以解析traceroute的行.这是我受到挑战的典型输出.

 3  someURL.net (184.106.126.128)  0.579 ms someURL.net (184.106.126.124)  0.742 ms  0.719 ms
Run Code Online (Sandbox Code Playgroud)

请注意第1和第2路由如何使用不同的IP地址.这会改变 ; 例如,有时候啤酒花会像这样使用所有相同的东西:

3  someURL.net (184.106.126.128)  0.579 ms  0.742 ms  0.719 ms
Run Code Online (Sandbox Code Playgroud)

...... 或者,每一跳可以有不同的路线,或者它们都可以是相同的.我想在Perl中使用一些正则表达式等来格式化输出,如下所示:

3|url~ip~time|url~ip~time|url~ip~time
Run Code Online (Sandbox Code Playgroud)

我不确定我是否应该以某种方式遍历各个单词,或者使用正则表达式更容易完成所有这些.任何解决方案或提示表示赞赏.

mjb*_*bnz 5

将traceroute模块用于perl会不会更容易?您是否有任何理由需要解析原始traceroute输出?(如果只是作为学习正则表达式的练习,当然......但是?)

Net :: Traceroute将是我使用的.