26 lines
746 B
Perl
26 lines
746 B
Perl
#!/usr/bin/perl
|
|
use strict ;
|
|
use warnings ;
|
|
|
|
sub middlethree {
|
|
my $number = shift ;
|
|
my $testnumber = abs $number ;
|
|
my $error = "Middle 3 digits can't be shown" ;
|
|
my $numberlength = length $testnumber ;
|
|
if ( $numberlength < 3 ) {
|
|
print "$error : $number too short!\n" ;
|
|
return ;
|
|
}
|
|
if ( $numberlength % 2 == 0 ) {
|
|
print "$error : even number of digits in $number!\n" ;
|
|
return ;
|
|
}
|
|
my $middle = int ( $numberlength / 2 ) ;
|
|
print "Middle 3 digits of $number : " . substr( $testnumber , $middle - 1 , 3 ) . " !\n" ;
|
|
return ;
|
|
}
|
|
|
|
my @numbers = ( 123, 12345, 1234567, 987654321, 10001, -10001, -123, -100, 100, -12345 ,
|
|
1, 2, -1, -10, 2002, -2002, 0 ) ;
|
|
map { middlethree( $_ ) } @numbers ;
|