in reply to Storing 10 numbers in array
#!/usr/bin/perl -w use strict; use Data::Dumper; my @numbers; foreach my $number (1..3) { my $num = prompt_4_number("Enter number $number of 3"); push @numbers, $num; } print Dumper \@numbers; sub prompt_4_number { my $prompt = shift; my $number; while ( (print "$prompt: "), $number = <STDIN> ) { next if $number =~ /^\s*$/; # re-prompt on blank lines $number =~ s/^\s*//; # delete leading spaces $number =~ s/\s*$//; # delete trailing spaces if ( $number !~ /^\s*((-?\d*)(\.\d*)?)\s*$/) # not a valid # floating point # number { print " Not a valid decimal number!\n"; next; # causes a re-prompt } return $number; } } __END__ C:\TEMP>perl get_nums.pl Enter number 1 of 3: afd Not a valid decimal number! Enter number 1 of 3: 3.4 Enter number 2 of 3: .5.7.8 Not a valid decimal number! Enter number 2 of 3: 5.7 Enter number 3 of 3: 5Avsx Not a valid decimal number! Enter number 3 of 3: 10 $VAR1 = [ '3.4', '5.7', '10' ];
|
|---|