diff options
Diffstat (limited to 'run')
-rwxr-xr-x | run/perlmonks | 13 |
1 files 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 |