use strict; use warnings; while () { print m/(\w+)/, ','; ; print =~ m/ +(.*)/, ','; print =~ m/ +(.*)/, "\n"; ; ; } __DATA__ r_acctng: printer is on device 'socket' speed -1 queuing is enabled printing is disabled no entries daemon present r_acctng_8150: printer is on device 'socket' speed -1 queuing is enabled printing is disabled no entries daemon present R_NETADMIN: printer is on device 'socket' speed -1 queuing is enabled printing is disabled no entries daemon present