perl分割功能用法

fam*_*mmi 0 perl

我有一个输入文件,其语法如下:

00000 INFO  [IVS ] reset receiver  
00000 INFO  [IVS ] reset transmitter  
00331 INFO  [IVS ] sync detected     
Run Code Online (Sandbox Code Playgroud)

表格中要求的数据

frame=0000  
info=INFO  
TYPE=[IVS ]  
message=reset receiver  

($frame,$info,$type,$message)=split(what would be the argument?);
Run Code Online (Sandbox Code Playgroud)

注意:支架前的IVS之后的空格,所以不能使用空格作为分隔符.

hob*_*bbs 7

错误的问题.你不想使用拆分.经验法则是:当您知道数据的样子时,使用正则表达式匹配; 当你知道你的分隔符是什么样的时候使用split.

my ($frame, $info, $type, $message) = 
    $data =~ /(\d+) (\S+)\s+\[(\S+)\s*\] (.*)/;
Run Code Online (Sandbox Code Playgroud)

将是一个非常好的开始.