#!/usr/bin/perl use strict; use warnings; while () { s/\s*([^\s]+)\s+([^\s]+)\s+([^\s]+)\s+([^\s]+)\s+([^\s]+)\s+([^\s])$//; my @items = ($1, $2, $3, $4, $5, $6); m/([^\s]+)\s+(.*)$/; unshift @items, $2; unshift @items, $1; print "[$_] " foreach @items; print "\n"; }