in reply to Annoying array.

In print O "@boxed"; , the elements of @boxed are printed seperated by $". By default, that is a space, so all the elements of @boxed are printed on a single line of the output file.

In @raw_data=<DAT>; , the record seperator is $/ which is the system line end by default. You will find 'Bucket Man' in $raw_data[0], along with all the rest.

See perlvar for information on $", $/, $\, $, , and friends.

(Added) You can do what you want by replacing print O "@boxed"; with

{ local $, = $/; print O @boxed; }

After Compline,
Zaxo