помогите пожалуйста переделать код с Delphi на Perl
const
Shabl: array[0..5, 0..10] of Integer = (
{ - }(1, -1, 3, -1, 4, 4, 4, 3, -2, -2, -2),
{ ch }(7, 2, -1, 2, 5, -1, -1, -1, -2, -2, -2),
{ sig }(-1, -1, 3, -1, -1, 4, 4, 3, -2, -2, -2),
{ ( }(4, -1, -1, 4, 4, -1, -1, -1, -2, -2, -2),
{ ) }(-1, -1, -1, -1, -1, 6, 6, -1, -2, -2, -2),
{ nul }(-1, -1, -1, 9, -1, 10, 11, -1, -2, -2, -2));
var
Buf: string;
Leng, F, ID, State, i: Integer;
Ch: char; //это наш var - зарезервированное слово в делфи,
//потому используем другое имя переменной
begin
buf := Edit1.Text;
leng := Length(buf);
F := 0;
//State := 0;
for i := 1 to leng do
begin
Ch := Buf[i];
State := 0; //сюда переместил, так как State может
//принять отрицательное значение, а отрицательных индексов у нас нету
case Ch of
'-': ID := 0;
'+': ID := 2;
'*': ID := 2;
'/': ID := 2;
'(': ID := 3;
')': ID := 4;
else
if True{а тут твое условие вместо True} then
ID := 0;
end;
State := Shabl[ID, State];
ShowMessage(IntToStr(leng)+ ' ' + IntToStr(State)); //для проверки
end;
end;[/HIGHLIGHT]