use strict; use warnings; open my $fh1, '>', 'item1.dat' or die "can not open file item1.dat: $!"; open my $fh2, '>', 'item2.dat' or die "can not open file item2.dat: $!"; open my $fh3, '>', 'item3.dat' or die "can not open file item3.dat: $!"; while () { next if (/^item/); # ignore header my @items = split; print $fh1 "@items[0..1]\n"; print $fh2 "@items[2..3]\n"; print $fh3 "@items[4..5]\n"; } __DATA__ item1 item2 item3 0 0 1 S 0 0 0 0 2 K 0 0 0 0 23 T 1 M 12 T 24 N 2 L 45 0 36 V 14 I 46 0 38 W 16 R 51 S 39 A 17 L 52 A 42 N 20 E 53 0 43 L 21 G