# loop through, grabbing values for every # successful match with the /gc flag while( ($timestamp,$player,$uid,$score,$kills,$deaths,$teamkills,$suicides,$objective) = $log =~ m{ \G .+ \[ ([^\]]+?) \] \s+ Player\: \s+ ([^\x20]+?) \s+ \( uid: \s+ (\w+) \) \x0D?\x0A \[ [^\]]+? \] \s+ Score: \s+ (\d+) \x0D?\x0A \[ [^\]]+? \] \s+ Kills: \s+ (\d+) \x0D?\x0A \[ [^\]]+? \] \s+ Deaths: \s+ (\d+) \x0D?\x0A \[ [^\]]+? \] \s+ Team \s+ Kills: \s+ (\d+) \x0D?\x0A \[ [^\]]+? \] \s+ Suicides: \s+ (\d+) \x0D?\x0A \[ [^\]]+? \] \s+ Objective: \s+ (\d+) \x0D?\x0A }ixmsgc ) { # ...process log entry... }