#!/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*$/;
  map { 
    return (($pos==0) ? "В начале строки" : "В позиции \"$pos\""). " не число" 
      unless (/^[+-]?\d+$/ && $_+1!=$_);
    $pos++; 
  } split(/\s*,\s*/, $str);
  return "Ok";
}
