Мой Perl-скрипт принимает данные и сохраняет их в виде массива.Затем скрипт берет эти данные и преобразует их в код, который я затем могу скопировать в LaTeX.
Часть моих данных включает в себя числа, такие как 4.25, 6.5, 6.75, и я хочу найти и заменить,так что 4.25 записывается как 4 1/4 при вставке в LaTeX.У пользователя запрашивается номер, который хранится как $variable
.Поиск и замена выполняется следующим образом:
$variable =~ s/\b.25\b/\\sfrac{1}{4}/;
$variable =~ s/\b.5\b/\\sfrac{1}{2}/;
$variable =~ s/\b.75\b/\\sfrac{3}{4}/;
Я хочу заменить 4.25
на код 4\sfrac{1}{4}
, 6.5
на код 6\sfrac{1}{2}
и * 1011.* с кодом 6\sfrac{3}{4}
.
Однако при запуске он корректно заменяет .25 и .5, а .75 заменяется .\sfrac{1}{2}
.Я запутался в том, что он делает.
Я изменил код примерно на:
$variable =~ s/\b.25\b/\\sfrac{1}{4}/;
$variable =~ s/\b.75\b/\\sfrac{3}{4}/;
$variable =~ s/\b.5\b/\\sfrac{1}{2}/;
, и это облегчает вышеуказанную проблему, но когда я ввожу число 5.5, оно тогдазаменяет this на \sfrac{1}{2}.5
, а не 5\sfrac{1}{2}
.
Кроме того, если мне нужно преобразовать @variable
в строку, как мне это сделать?