Задача разделителей - отделить указатель инструкции от имени блока.
В отличие от ':', разделитель '=' изменяет в анализаторе интерпретацию кода.
При этом, результат применения разделителя '=' в однострочном и многострочном блоках различаются.
1 | %pl my $test = "<b>тест</b>"; |
2 | |
3 | 1. Переменная '<%pl= $test %>' внутри однострочного блока. |
4 | <br><br> |
5 | |
6 | <%pl=name1 |
7 | 2. Переменная '$test' внутри |
8 | многострочного блока '<b>$phl_blok[1]</b>' (разделитель '='). |
9 | %> |
10 | <br><br> |
11 | |
12 | <%pl:name2 |
13 | print "3. Переменная '$test'"; |
14 | print "внутри многострочного блока '<b>$phl_blok[2]</b>' (разделитель ':')."; |
15 | %> |
Код после анализатора:
1 | my $test = "<b>тест</b>"; |
2 | print <<'[HTML]'; |
3 | |
4 | [HTML] |
5 | print <<'[HTML]' =~ /(.*)/; |
6 | 1. Переменная ' |
7 | [HTML] |
8 | print($test); |
9 | print <<'[HTML]'; |
10 | ' внутри однострочного блока. |
11 | [HTML] |
12 | print <<'[HTML]'; |
13 | <br><br> |
14 | |
15 | [HTML] |
16 | print <<"[HTML]"; |
17 | 2. Переменная "$test" внутри |
18 | многострочного блока "<b>$phl_blok[1]</b>" (разделитель "="). |
19 | [HTML] |
20 | print <<'[HTML]'; |
21 | <br><br> |
22 | |
23 | [HTML] |
24 | print "3. Переменная '$test'"; |
25 | print "внутри многострочного блока '<b>$phl_blok[2]</b>' (разделитель ':')."; |
▼
Результат
1. Переменная 'тест' внутри однострочного блока.
2. Переменная 'тест' внутри
многострочного блока 'name1' (разделитель '=').
3. Переменная 'тест'внутри многострочного блока 'name2' (разделитель ':').