我正在尝试编写一个 Perl 程序,该程序从文本文件中读取行,并且对于每一行,从该行中提取第一个“单词”,并根据返回的字符串执行不同的操作。
主循环如下所示:
while(<AXM60FILE>) {
$inputline = $_;
($start) = ($inputline =~ /\A(.*?) /);
perform something, based on the value of string in $start
}
输入文件实际上是一个参数文件,其中包含parameter_name 和parameter_value,并用冒号(“:”)分隔。冒号之前或之后可以有空格或制表符。
因此,该文件看起来(例如)如下所示:
参数1:xxxxxxxxxxxx
参数2:xxxxxxxxxxxx
参数3:xxxxxxxxxxxxxxxxx
参数4:xxxxxxxxxxxxx
“($start) = ($inputline =~ /\A(.*?) /);”对于“param2”示例和“param3”示例,其中第一个单词以空格/空格终止,但如何处理“param1”和“param4”情况(其中parameter_name后紧跟冒号)工作正常?
另外,如果“空白”是一个或多个制表符,而不是空白/空格字符怎么办?
谢谢,
吉姆
这将涵盖您的所有案例,然后是一些:
my ($key, $value) = split /\s*:\s*/, $inputline, 2;
(或者,用英语来说,split$inputline
最多包含两个由任意数量的空格、冒号和任意数量的空格分隔的元素。)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)