My particular concern is:
When I query: "bytes in 1 mib"
I want a precise response: "1,048,576 bytes"
...instead of "1.05 * 10^6 bytes"
Beyond that, generally, I believe that most people who can cognitively handle numbers up to 1MM can also handle any number with a seven digit integer-part/characteristic (http://math.stackexchange.com/a/64045/92444). Ideally, the decision should be made based on the number of characters in the significand (https://en.wikipedia.org/wiki/Significand) but that's beyond what I have time for at the moment (especially given how rusty my perl is) ;) .
* prevent anything but allowed ops in the query
no negative nums
* Uncomment neg catch and move after garbage is removed
* Add more tests
* The hex check can be simplified since the trigger isn't allowing most of it
Allow expressions like 1e9 to pass
* Allow = in query
decimal/negatives with e
* Remove debug
* add test for 1e9 query
* Restrict some other stuff
* Don't require digit
* Restrict multiple ops to two or less
* reject empty parens/multiple ops
* No @, or $ not followed by a number or .
* combine char class
* add more negative tests
* Add ops back, case-insensitive subs, require two ops again
* Case-insensitive on multiple ops too
* Allow leading negatives
* Move the leading neg sub
* Better regex for hex input
* update tests
* Update trigger
Use Safe for evaluation with the minimum functions
Removed unnecessary capturing, redundant function calls
* Add some tests
* Remove eval since we don't allow die
Add comment about debugging failed reval
* Add rv2gv from :base_orig to allow compat with Safe 2.35
Remove prtf since that was in :base_orig which was removed
* Remove unneeded opsets
* Silence all of reval's warnings
* Add STRICT
* Conversions: Failing test for n'm" format
* Conversions: Adding a totally specific workaround for 3 feet 5 inches or 6'1" queries
* Conversions: Accuracy correct relative to output
* Conversions: Improving test coverage around whitespace
* Conversions: Removing duplication
* Conversions: Handling foot and inch
* Conversions: Adding tests for feet and inches into another unit and failing test for the UK common "n foot m", commonly used for height
* Conversions: Implemeting the UK common 6 foot 1 query support
* Update trigger
Use Safe for evaluation with the minimum functions
Removed unnecessary capturing, redundant function calls
* Add some tests
* Remove eval since we don't allow die
Add comment about debugging failed reval
* Add rv2gv from :base_orig to allow compat with Safe 2.35
Remove prtf since that was in :base_orig which was removed
* Remove unneeded opsets
* Silence all of reval's warnings
* Update trigger
Use Safe for evaluation with the minimum functions
Removed unnecessary capturing, redundant function calls
* Add some tests
* Remove eval since we don't allow die
Add comment about debugging failed reval
* Add rv2gv from :base_orig to allow compat with Safe 2.35
Remove prtf since that was in :base_orig which was removed
* Remove unneeded opsets