use strict;
use warnings;
my @labels = ('fee', 'fi', 'fo', 'fum');
open(my $fh, '<', "folks.txt") || die "can't open folks: $!";
my @list;
while (<$fh>) {
chomp;
push @list, [split /,/];
}
for my $element (@list) {
print "$labels[0],$element->[0],$element->[1]\n";
}
for my $element (@list) {
print "$labels[1],$element->[0],$element->[2]\n";
}
for my $element (@list) {
print "$labels[2],$element->[0],$element->[3]\n";
}
for my $element (@list) {
print "$labels[3],$element->[0],$element->[4]\n";
}
####
use strict;
use warnings;
my @labels = ('fee', 'fi', 'fo', 'fum');
open(my $fh, '<', "folks.txt") || die "can't open folks: $!";
my @list;
while (<$fh>) {
chomp;
push @list, [split /,/];
}
for my $i (0 .. 3) {
for my $element (@list) {
print "$labels[$i],$element->[0],$element->[$i+1]\n";
}
}
####
use strict;
use warnings;
my @labels = ('fee', 'fi', 'fo', 'fum');
open(my $fh, '<', "folks.txt") || die "can't open folks: $!";
my @list;
while (<$fh>) {
chomp;
my @line = split /,/;
my %hash = (number => shift @line);
for my $i (0 .. $#labels) {
$hash{$labels[$i]} = $line[$i];
}
push @list, \%hash;
}
for my $label (@labels) {
for my $element (@list) {
print "$label,$element->{number},$element->{$label}\n"
}
}