(\s*) }xm #### \s* (.*) }xm #### while (<>) { my @fields; if (@fields = m{ \[ (\w{3}) \s* (\w{3}) \s* (\d{2}) \s* (\d{2}:\d{2}:\d{2})\s* (\d{4}) \] (\w*) \/ (\w*) /// Info(\(\d*\)) }xm) { push(@fields, scalar <>); print(join("\n", @fields)); } }