Perl 输入第一个非空格字符串
我最近在这里问了一个问题,关于从文件中读取并拆分每一行,可以找到 现在,我还有一个问题。如何使读取输入读取该行,直到找到非空格/制表符/空白字符 代码如下:Perl 输入第一个非空格字符串,perl,Perl,我最近在这里问了一个问题,关于从文件中读取并拆分每一行,可以找到 现在,我还有一个问题。如何使读取输入读取该行,直到找到非空格/制表符/空白字符 代码如下: #!/usr/bin/perl open (ReadFrom, 'data.txt'); open (WriteTo, '>>data2.txt'); while (<ReadFrom>) { chomp; ($hop, $skipme, $ip, $time1) = split(/ /); print
#!/usr/bin/perl
open (ReadFrom, 'data.txt');
open (WriteTo, '>>data2.txt');
while (<ReadFrom>) {
chomp;
($hop, $skipme, $ip, $time1) = split(/ /);
print WriteTo "Hop: $hop\n";
print WriteTo "IP: $ip\n";
print WriteTo "Time: $time1\n";
}
close (ReadFrom);
exit;
根据请求将评论作为答复发布
之所以会出现这种行为,是因为在正则表达式上拆分时使用的是空格
/
,而不是文本空格'
,这与/\s+/
几乎相似,只是它去掉了前导空格
同样,这样的输入并不总是适合于解析。另一方面,通常有一个模块来完成这项工作。我发现了这个,例如: 之所以会出现这种行为,是因为在正则表达式上拆分时使用了一个空格
/
,而不是一个文本空格'
,这几乎类似于/\s+/
,只是它去掉了前导空格。此外,这样的输入并不总是适合解析。另一方面,通常有一个模块来完成这项工作。例如,我发现:。当我有时间的时候,这些都是我必须学习和阅读的小东西。然而,在这一点上,我有急事,一直不得不来这里。我真的很感谢你对TLP的帮助,它确实有效。我希望这是最后一次用超简单的问题困扰你们(我对perl完全陌生,但对编程非常有经验)。是的,我看到有一个模块,但我们会看到,这可能是一个更好的选择,但我们已经收集了数百个跟踪路由和ping结果,我只需要一个脚本来对它们进行自定义分析。创建一个包含您答案的帖子,以便我可以选中它。
Hop: traceroute
IP: www.totalnet.com.ar
Time: (200.123.156.209),
Hop:
IP:
Time: www.undisclosed.com
Hop:
IP:
Time: www.undisclosed.com
Hop:
IP:
Time: www.undisclosed.com
Hop:
IP:
Time: www.undisclosed.com
Hop:
IP:
Time: www.undisclosed.com
Hop:
IP:
Time: ae1x19.wsu5.mich.net
Hop:
IP:
Time: xe-4-1-1x76.eq-chi2.mich.net
Hop:
IP:
Time: ae-4.584.chic0.tr-cps.internet2.edu
Hop:
IP:
Time: xe-2-2-0.0.ny0.tr-cps.internet2.edu
Hop: 10
IP: 64.57.20.74
Time: (64.57.20.74)
Hop: 11
IP: NSS-S-A.TenGigabitEthernet8-3.ar1.EZE1.gblx.net
Time: (64.208.7.70)
Hop: 12
IP: customer-static-210-110-65.iplannetworks.net
Time: (190.210.110.65)
Hop: 13
IP: customer-static-210-110-54.iplannetworks.net
Time: (190.210.110.54)
Hop: 14
IP: customer-static-210-110-141.iplannetworks.net
Time: (190.210.110.141)
Hop: 15
IP: 190.210.125.85
Time: (190.210.125.85)
Hop: 16
IP: mx.radioelectron.com.ar
Time: (200.123.156.209)