From 73e1da5d04e27e56b584ce6dce4eb086eb7413fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?John=20Ankarstr=C3=B6m?= Date: Fri, 7 May 2021 00:26:03 +0200 Subject: Sort PerlMonks nodes --- run/perlmonks | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/run/perlmonks b/run/perlmonks index 1f1e5b3..53e9583 100755 --- a/run/perlmonks +++ b/run/perlmonks @@ -12,8 +12,8 @@ my $ua = LWP::UserAgent->new(timeout => 5); $ua->ssl_opts(verify_hostname => 0); $ua->env_proxy; $ua->agent(''); -my $a = 'https://www.perlmonks.org/?node_id=30175'; -my $r = $ua->get($a); +my $u = 'https://www.perlmonks.org/?node_id=30175'; +my $r = $ua->get($u); die $r->status_line if not $r->is_success; # Parse XML @@ -21,8 +21,13 @@ my $dom = XML::LibXML->load_xml(string => $r->decoded_content); # Print HTML representation of each node my $i; -for my $node ($dom->findnodes('/NEWESTNODES/NODE')) { - my $d = Time::Piece->strptime(($node->findnodes('./@createtime'))[0]->to_literal, '%Y%m%d%H%M%S')->strftime('%a, %e %B %Y %H:%M:%S UTC'); +my @nodes = + sort { $b->[1] <=> $a->[1] } + map { [$_, Time::Piece->strptime(($_->findnodes('./@createtime'))[0]->to_literal, '%Y%m%d%H%M%S')] } + $dom->findnodes('/NEWESTNODES/NODE'); +for (@nodes) { + my ($node, $time) = @$_; + my $d = $time->strftime('%a, %e %B %Y %H:%M:%S UTC'); my $f = ($node->findnodes('./@authortitle'))[0]->to_literal; (my $s = $node->to_literal) =~ s/^\s+|\s+$//; next if $s eq $f; # Skip home nodes -- cgit v1.2.3