#!/usr/bin/env perl
use utf8;
use strict;
use Text::CSV;
use Encode 'encode';
### read the output
my $resultsFile = "results.txt";
open my $fh, "<:encoding(utf8)", $resultsFile
or die "cannot open re +sults file $resultsFile for reading: $!";
my @urls = grep {/\/search\//} <$fh>;
close ($fh);
print "Content-type: text/html; charset=utf-8\n\n";
print "
Pre-sort";
print "- $_
" for @urls;
print "
\n";
print "Same, but encoded
";
print encode ('UTF-8', "- $_
") for @urls;
print "
\n";
# sort @urls based on the search string
my @sorted_urls =
map { $_->[0] }
sort { $a->[1] cmp $b->[1] }
map { m|/search/\s*([^\?]+)\?|; [$_, $1] } @urls;
my $csv = Text::CSV->new ({binary => 0, sep_char => "|"});
print "Broken sorted
\n";
# parse and print
print '
';
foreach my $row (@sorted_urls) {
# print TEMP $row;
$csv->parse ($row);
my @els = $csv->fields;
$els[0] =~ /\/search\/(.+)\?scope=/i;
my ($term) = $1;
my ($link) = $els[0];
print "";
print qq#$term | #;
print "$_ | \n" for @els[1 .. 4];
print "
\n";
}
print '
';
print "Same, but encoded
";
# parse and print
print '';
foreach my $row (@sorted_urls) {
# print TEMP $row;
$csv->parse ($row);
my @els = $csv->fields;
$els[0] =~ /\/search\/(.+)\?scope=/i;
my ($term) = $1;
my ($link) = $els[0];
print "";
print encode ('UTF-8',
qq#$term | #);
print "$_ | \n" for @els[1 .. 4];
print "
\n";
}
print '
';