in reply to global regex

your code matches the first 'word' and prints it, then goes to the next line. One way of matching all words on a line is
while(<DATA>) { while ( /(\w+)/g ) { print "$1 "; } }
cheers

si_lence