Split line with perl

前端 未结 5 701
深忆病人
深忆病人 2021-01-23 03:57
   title: Football team: Real Madrid stadium: Santiago Bernabeu players: Zinédine Zidane, Ronaldo, Luís Figo, Roberto Carlos, Raúl personnel: José Mourinho (head coach)          


        
5条回答
  •  暗喜
    暗喜 (楼主)
    2021-01-23 04:49

    $string = "title: Football team: Real Madrid stadium: Santiago Bernabeu players: Zinédine Zidane, Ronaldo, Luís Figo, Roberto Carlos, Raúl personnel: José Mourinho (head coach) Aitor Karanka (assistant coach (es))";
    @words = split(' ', $string);
    
    @lines = undef;
    @line = shift(@words);
    foreach $word (@words)
    {
        if ($word =~ /:/)
        {
            push(@lines, join(' ', @line));
            @line = undef;
        }
        else
        {
            push(@line, $word);
        }
    }
    
    print join("\n", @lines);
    

提交回复
热议问题