use POSIX; sub ceilX ($$); print "$_ -> ", ceilX($_, 50), "\n" for (145..154); sub ceilX ($$) { my $number = shift; my $x = shift; return POSIX::ceil($number / $x) * $x; } #### 145 -> 150 146 -> 150 147 -> 150 148 -> 150 149 -> 150 150 -> 150 151 -> 200 152 -> 200 153 -> 200 154 -> 200