[![Actions Status](https://github.com/kaz-utashiro/Getopt-EX-RPN/actions/workflows/test.yml/badge.svg)](https://github.com/kaz-utashiro/Getopt-EX-RPN/actions) # NAME Getopt::EX::RPN - RPN calculation module for Getopt::EX command option # SYNOPSIS use Getopt::EX::RPN qw(rpn_calc); # DESCRIPTION Getopt::EX::RPN is a wrapper for [Math::RPN](https://metacpan.org/pod/Math%3A%3ARPN) package which implement Reverse Polish Notation calculation. **rpn\_calc** function in this package takes additional `HEIGHT` and `WIDTH` token which describe terminal height and width. **rpn\_calc** recognize following tokens (case-insensitive) and numbers, and ignore anything else. So you can use any other character as a delimiter. Delimiter is not necessary if token boundary is clear. HEIGHT WIDTH { } +,ADD ++,INCR -,SUB --,DECR *,MUL /,DIV %,MOD POW SQRT SIN COS TAN LOG EXP ABS INT &,AND |,OR !,NOT XOR ~ <,LT <=,LE =,==,EQ >,GT >=,GE !=,NE IF DUP EXCH POP MIN MAX TIME RAND LRAND Since module [Getopt::EX::Func](https://metacpan.org/pod/Getopt%3A%3AEX%3A%3AFunc) uses comma to separate parameters, you can't use comma as a token separator in RPN expression. This package accept expression like this: &set(width=WIDTH:2/,height=HEIGHT:DUP:2%-2/) # AUTHOR Kazumasa Utashiro # LICENSE Copyright Kazumasa Utashiro. This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.