use v6;
print join ' ', reverse .words for
lines.grep(/SRC1/)\
.map({ [+<<.words[*-1, 0], $_]})\
.sort\
.map(*[2])
####
use v6;
lines()
==> grep(/SRC1/)
==> map({ [+<<.words[*-1, 0], $_]})
==> sort()
==> map(*[2])
==> my @lines;
print ~.words.reverse for @lines;
####
class Line {
has $.str handles 'words';
method Str { self.words.reverse.join(' ') }
}
multi infix:(Line $a, Line $b) {
$a.words[*-1] <=> $b.words[*-1]
|| $a.words[0] <=> $b.words[0];
}
print lines().map({Line.new(str => $_)}).grep(/SRC1/).sort;