##
my @vlinks;
for my $line (@lines) {
chomp($line);
my %row;
@row{qw/title title2 pages author/} = split /:/, $line, 4;
push @vlinks, \%row;
}
use Data::Dump;
dd \@vlinks;
####
@vlinks = sort {
$a->{title} cmp $b->{title}
or $a->{pages} <=> $b->{pages}
or $a->{author} cmp $b->{author}
} @vlinks;
####
for my $vlink (@vlinks) {
print "{title2}\">"
."$vlink->{title} $vlink->{pages} "
."$vlink->{author} \n"
}
####
use Text::CSV;
my $file = 'books/bookLIST.txt';
open my $info, '<', $file or die "Could not open $file: $!";
my $csv = Text::CSV->new({binary=>1, auto_diag=>2,
sep_char=>":", allow_whitespace=>1 });
$csv->column_names(qw/title title2 pages author/);
my @vlinks;
while ( my $row = $csv->getline_hr($info) ) {
push @vlinks, $row;
}
$csv->eof or $csv->error_diag;
close $info;
####
use HTML::Entities qw/encode_entities/;
for my $vlink (@vlinks) {
print "{title2})."\">"
.encode_entities($vlink->{title})." "
.encode_entities($vlink->{pages})." "
.encode_entities($vlink->{author})." \n"
}