in reply to validate if output of command is numeric or not

To see if you have a number

perldoc -f number -> perlfaq4 -> How do I determine whether a scalar is a number/whole/integer/float? -> http://perldoc.perl.org/Scalar/Util.html#looks_like_number

To quiet not-numeric warning, don't numify empty strings, they're false, so promote them to zero   $num ||= 0;

Instead of numbered variables ($cmd1...) use an array, @commands

Exit code is often used to communicate failure, so you probably don't have to guess based on whats a program prints. my preferred way to qx is with Capture::Tiny

#!/usr/bin/perl -- use strict; use warnings; use Capture::Tiny qw/ capture /; my @cmd = ( 'python', '-V' ); my( $stdout, $stderr, $exit ) = capture { system { $cmd[0] } @cmd; };; $exit and die "it failed with $exit and $stderr ";