#!/usr/bin/env lua local arrr = require 'arrr' local options = arrr { { "Sort longest lines first", "--reverse", "-r" }; } {...} local lines = {} for line in io.lines() do table.insert(lines, {#line, line}) end if options.reverse then table.sort(lines, function(a, b) return a[1] > b[1] end) else table.sort(lines, function(a, b) return a[1] < b[1] end) end for i, line in ipairs(lines) do print(line[2]) end