#!/usr/bin/perl
@Lines = (
"1, 4, 5, -6, -8 , 3, 1" ,
"1, 3333333333333333333333333334, 5, -6, -8 , 3, 1" ,
" 5 , 6, 57, +68 , 18, 32, 4 " ,
"77" ,
"" ,
" " ,
"1, 4, 5, 6, 8, 3, 1," ,
" , 6, 57, 68 , 18, 32, 4" ,
"5, 6, , 68, 18, 32, 4" ,
"5, 6,, 68, 18, 32, 4" ,
"5, 6, T, 68, 18, 32, 4" ,
"5, 6, 34T, 68, 18, 32, 4" ,
"5, 6, 34 55, 68, 18, 32, 4" ,
"," ,
",," ,
",, ,, ,,,"
) ;
map { print "\" $_\" : " . parse
( $_ ) . "\n " ; } @Lines ;
##############################################################
sub parse {
my ( $str , $pos ) = ( shift , 0 ) ; return "В начале строки не число" if $str =~ /^\s*,/ ; return "В конце строки не число" if $str =~ /,\s*$/ ; return ( ( $pos == 0 ) ? "В начале строки" : "В позиции \" $pos\" " ) . " не число" unless ( /^[+-]?\d+$/ && $_ + 1 != $_ ) ;
$pos ++;
} split ( /\s*,\s*/ , $str ) ; }
IyEvdXNyL2Jpbi9wZXJsCgpATGluZXMgPSAoCiAgIjEsIDQsIDUsIC02LCAtOCAsIDMsIDEiLAogICIxLCAzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM0LCA1LCAtNiwgLTggLCAzLCAxIiwgICAgICAgIAogICIgICAgICAgNSAsIDYsIDU3LCArNjggLCAxOCwgMzIsIDQgICAiLAogICI3NyIsCiAgIiIsCiAgIiAgICAiLAogICIxLCA0LCA1LCA2LCA4LCAzLCAxLCIsCiAgIiAsIDYsIDU3LCA2OCAsIDE4LCAzMiwgNCIsCiAgIjUsIDYsICwgNjgsIDE4LCAzMiwgNCIsCiAgIjUsIDYsLCA2OCwgMTgsIDMyLCA0IiwKICAiNSwgNiwgVCwgNjgsIDE4LCAzMiwgNCIsCiAgIjUsIDYsIDM0VCwgNjgsIDE4LCAzMiwgNCIsCiAgIjUsIDYsIDM0IDU1LCA2OCwgMTgsIDMyLCA0IiwKICAiLCIsCiAgIiwsIiwKICAiLCwgLCwgLCwsIgopOwoKbWFwIHsgcHJpbnQgIlwiJF9cIjogIi5wYXJzZSgkXykuIlxuIjsgfSBATGluZXM7CgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKc3ViIHBhcnNlIHsKICBteSAoJHN0ciwkcG9zKSA9IChzaGlmdCwwKTsKICByZXR1cm4gItCSINC90LDRh9Cw0LvQtSDRgdGC0YDQvtC60Lgg0L3QtSDRh9C40YHQu9C+IiBpZiAkc3RyID1+IC9eXHMqLC87CiAgcmV0dXJuICLQkiDQutC+0L3RhtC1INGB0YLRgNC+0LrQuCDQvdC1INGH0LjRgdC70L4iIGlmICRzdHIgPX4gLyxccyokLzsKICBtYXAgeyAKICAgIHJldHVybiAoKCRwb3M9PTApID8gItCSINC90LDRh9Cw0LvQtSDRgdGC0YDQvtC60LgiIDogItCSINC/0L7Qt9C40YbQuNC4IFwiJHBvc1wiIikuICIg0L3QtSDRh9C40YHQu9C+IiAKICAgICAgdW5sZXNzICgvXlsrLV0/XGQrJC8gJiYgJF8rMSE9JF8pOwogICAgJHBvcysrOyAKICB9IHNwbGl0KC9ccyosXHMqLywgJHN0cik7CiAgcmV0dXJuICJPayI7Cn0K
stdout
"1, 4, 5, -6, -8 , 3, 1": Ok
"1, 3333333333333333333333333334, 5, -6, -8 , 3, 1": В позиции "1" не число
" 5 , 6, 57, +68 , 18, 32, 4 ": В начале строки не число
"77": Ok
"": Ok
" ": В начале строки не число
"1, 4, 5, 6, 8, 3, 1,": В конце строки не число
" , 6, 57, 68 , 18, 32, 4": В начале строки не число
"5, 6, , 68, 18, 32, 4": В позиции "2" не число
"5, 6,, 68, 18, 32, 4": В позиции "2" не число
"5, 6, T, 68, 18, 32, 4": В позиции "2" не число
"5, 6, 34T, 68, 18, 32, 4": В позиции "2" не число
"5, 6, 34 55, 68, 18, 32, 4": В позиции "2" не число
",": В начале строки не число
",,": В начале строки не число
",, ,, ,,,": В начале строки не число