#!/usr/bin/perl use warnings; use strict; use Data::Types qw(is_int); foreach ( qw( 1.1 -2 0 3 hi 0.0 2e5 0b11 ), 0b11 ){ print $_, (is_int($_) and $_>0) ? ' is':' is not', " a positive integer.\n"; } __DATA__ 1.1 is not a positive integer. -2 is not a positive integer. 0 is not a positive integer. 3 is a positive integer. hi is not a positive integer. 0.0 is not a positive integer. 2e5 is not a positive integer. 0b11 is not a positive integer. 3 is a positive integer.