714 のコードを 671 みたいな for(;;) 嫌いが書くと
while ( @data ){
printf ("%s %s %s\n" , ( shift @data, shift @data, shift @data))
}
になるのかな?

for(;;) というよりも添字がごちゃごちゃしてて嫌い。