#!/usr/bin/perl -w use strict; my $line; my ($x,$y); my $two_nums_valid =0; while ( (!$two_nums_valid) and (print "enter 2 integer numbers: ") and ($line =) ) { next if $line =~ /^\s*$/; # just re-prompt on blank lines chomp $line; #needed here to detect real $kruft ($x, $y, my $kruft) = split (' ', $line); if (defined $kruft) { print "illegal format - only two integer numbers allowed!\n"; next; } if (!defined $y or $x !~ /^\d+$/ or $y !~ /^\d+$/) { print "two integer numbers are needed, like: 10 20\n"; next; } $two_nums_valid =1; } print "hooray the numbers are: $x and $y\n"; __END__ C:\TEMP>perl inputXY.pl enter 2 integer numbers: a b two integer numbers are needed, like: 10 20 enter 2 integer numbers: a b 10 illegal format - only two integer numbers allowed! enter 2 integer numbers: a 10 two integer numbers are needed, like: 10 20 enter 2 integer numbers: 10 a 20 illegal format - only two integer numbers allowed! enter 2 integer numbers: 2 2.5 two integer numbers are needed, like: 10 20 enter 2 integer numbers: 20 two integer numbers are needed, like: 10 20 enter 2 integer numbers: 20 b two integer numbers are needed, like: 10 20 enter 2 integer numbers: 30 44 hooray the numbers are: 30 and 44