Wednesday, March 28, 2018

Perl: sort version numbers

Before :
perl  -e 'use version; @f= map {$_->[0]} sort map {[$_, /--([^-]+)--[^-]+\./]} ("toto--1.0--1.1.sql", "toto--1.10--1.11.sql", "toto--1.1--1.2.sql"); print "@f\n"'
toto--1.0--1.1.sql toto--1.10--1.11.sql toto--1.1--1.2.sql
After :
perl  -e 'use version; @f= map {$_->[0]} sort {$a->[1] cmp $b->[1]} map {[$_, version->declare(/--([^-]+)--[^-]+\./)]} ("toto--1.0--1.1.sql", "toto--1.10--1.11.sql", "toto--1.1--1.2.sql"); print "@f\n"'
toto--1.0--1.1.sql toto--1.1--1.2.sql toto--1.10--1.11.sql

Tuesday, March 6, 2018

Clojure: print exception stack trace

(log/error (apply str (interpose "\n" (.getStackTrace e))))