sub sortByDate
{
#get dates. will look like this: date:"2015-02-16", "YYYY-MM-DD",
my $aDate = $a =~ /date:\"(\d{4}\-\d{2}\-\d{2})"/;
my $bDate = $b =~ /date:\"(\d{4}\-\d{2}\-\d{2})"/;
return ($aDate cmp $bDate);
}
####
my($aDate) = $a =~ /date\"(\d{4}-\d{2}-\d{2})"/;
my($bDate) = $b =~ /date\"(\d{4}-\d{2}-\d{2})"/;
##
##
use strict;
use warnings;
use JSON;
use Data::Dump;
my @data;
while () {
next unless /\N/;
push @data, decode_json($_);
}
print "Unsorted:\n";
dd \@data;
my @sorted = sort { $a->{date} cmp $b->{date} } @data;
print "\nSorted:\n";
dd \@sorted;
__DATA__
{ "date":"2015-03-01", "content":"asdf" }
{ "date":"2015-05-01", "content":"erwa" }
{ "date":"2015-01-02", "content":"erts" }
{ "date":"2014-04-02", "content":"w34r" }
##
##
Unsorted:
[
{ content => "asdf", date => "2015-03-01" },
{ content => "erwa", date => "2015-05-01" },
{ content => "erts", date => "2015-01-02" },
{ content => "w34r", date => "2014-04-02" },
]
Sorted:
[
{ content => "w34r", date => "2014-04-02" },
{ content => "erts", date => "2015-01-02" },
{ content => "asdf", date => "2015-03-01" },
{ content => "erwa", date => "2015-05-01" },
]