ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ CGI-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ

Π Π΅Ρ„Π΅Ρ€Π°Ρ‚ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

БинтаксичСскиС ошибки ΠΏΡ€ΠΈ составлСнии запроса ΠΊ Π‘Π”, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ логичСских ошибок Π² Perl-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. Π’Π°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² SQL-Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌΡ‹Π΅ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… запросов. Если ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ такая пСрСмСнная Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π½ΡƒΠ»Π΅Π²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ запроса Π±Ρ‹Π» Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Ρ‘Π½ пустой Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚), Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ‚… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ CGI-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

CGI-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ — Π½Π΅ ΡΠ°ΠΌΡ‹Π΅ простыС Π² ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅. По ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΎΠ½ΠΈ способны сравнится лишь с ΠΎΡ‚Π»Π°Π΄ΠΊΠΎΠΉ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ². Вся ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ скрипт выполняСтся Π½Π΅ ΠΊΠ°ΠΊ обычная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°. Он Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ΅Ρ‚ся Π² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ срСдС сСрвСра, которая создаСтся ΠΏΡ€ΠΈ клиСнтском запросС Π½Π° Π½Π΅ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅.

ΠŸΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ошибки, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΈ написании CGI-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ Perl ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π½Π° pис. 34.

ΠŸΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ источники ошибок.

Рис. 34. ΠŸΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ источники ошибок

2.2.1 Ошибки Π² Perl-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Если скрипт ΠΏΠΎ ΠΊΠ°ΠΊΠΈΠΌ-Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ Π½Π΅ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅Ρ‚ся, Ρ‚ΠΎ Π½Π° ΡΠΊΠΎΡ€Π΅Π΅ всСго появится экран, ΡΠΎΠΎΠ±Ρ‰Π°ΡŽΡ‰ΠΈΠΉ ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ ошибкС сСрвСра, ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΡ‘Π½Π½Ρ‹ΠΉ Π½Π° pис. 35. Π’Π°ΠΊΠΎΠ΅ сообщСниС ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈ синтаксичСских ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… Π² ΡΠ°ΠΌΠΎΠΉ Perl-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, Ρ‚Π°ΠΊ ΠΈ ΠΏΡ€ΠΈ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Web-сСрвСра.

Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ ошибкС сСрвСра.

Рис. 35. Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ ошибкС сСрвСра

Π’ ΡΡ‚ΠΎΠΌ случаС источник ошибок ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ просмотра Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… http-Π»ΠΎΠ³ΠΎΠ². ВсС обращСния ΠΊ ΡΠ΅Ρ€Π²Π΅Ρ€Ρƒ ΠΈ Π²ΡΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΈ этом ошибки Ρ„ΠΈΠΊΡΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ„Π°ΠΉΠ»Π°Ρ…. БлоТности Π² Π΄Π°Π½Π½ΠΎΠΌ случаС Π·Π°ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π΄Π°ΠΆΠ΅ Π½Π° ΡΡ€Π΅Π΄Π½ΠΈΡ… Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² WWW-сСрвСрС Ρ€Π°Π·ΠΌΠ΅Ρ€ этих Ρ„Π°ΠΉΠ»ΠΎΠ² достигаСт дСсятков ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚ ΠΈ ΠΏΠΎΠΈΡΠΊ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠΉ записи ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π½ΡΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя. Π Π°Π·Π±ΠΎΡ€ http-Π»ΠΎΠ³ΠΎΠ² Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ являСтся Π΅Π΄Π²Π° Π»ΠΈ Π½Π΅ Π΅Π΄ΠΈΠ½ΡΡ‚Π²Π΅Π½Π½Ρ‹ΠΌ способом ΡƒΠ·Π½Π°Ρ‚ΡŒ, Π³Π΄Π΅ ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ошибка.

ΠŸΡ€ΠΈΠ²Π΅Π΄Ρ‘ΠΌ участок Ρ„Π°ΠΉΠ»Π° http-Π»ΠΎΠ³Π°, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΠΉ Π² ΡΠ»ΡƒΡ‡Π°Π΅, Ссли программист Π·Π°Π±Ρ‹Π» ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ‚ΠΎΡ‡ΠΊΡƒ с Π·Π°ΠΏΡΡ‚ΠΎΠΉ послС Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Π² ΡΡ‚Ρ€ΠΎΠΊΠ΅ 1104 скрипта dossier. pl:

[Mon May 06 16:46:04 2002] [error] [client 127.0.0.1] Premature end of script headers: c:/home/www/oroks22/scripts/dean_office/dossier.pl.

[Mon May 06 16:46:04 2002] [error] [client 127.0.0.1] syntax error at c:/home/www/oroks22/scripts/dean_office/dossier.pl line 1105, near «) {» .

[Mon May 06 16:46:04 2002] [error] [client 127.0.0.1] syntax error at c:/home/www/oroks22/scripts/dean_office/dossier.pl line 1170, near «else» .

[Mon May 06 16:46:04 2002] [error] [client 127.0.0.1] Execution of c:/home/www/oroks22/scripts/dean_office/dossier.pl aborted due to compilation errors.

Π’ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ρ„Π°ΠΉΠ» http-Π»ΠΎΠ³Π° ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚:

Π”Π°Ρ‚Π° ΠΈ Π²Ρ€Π΅ΠΌΡ записи.

Ρ‚ΠΈΠΏ сообщСния.

IP-адрСс ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°.

Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅.

ΠŸΡ€ΠΎΠ²Π΅Π΄Ρ Π°Π½Π°Π»ΠΈΠ· ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½ΠΎΠ³ΠΎ участка Π»ΠΎΠ³Π° Π²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ источник ошибок находится Π² Ρ€Π°ΠΉΠΎΠ½Π΅ строки 1105 Ρ„Π°ΠΉΠ»Π° dossier.pl. ΠžΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ ошибки ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Ρ‚ΡŒ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ возникновСния ΠΏΠ΅Ρ€Π²ΠΎΠΉ ошибки. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, послС исправлСния Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ синтаксичСской ошибки сообщСния ΠΎΠ± ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… Π½Π°ΠΉΠ΄Π΅Π½Π½Ρ‹Ρ… Π΄ΠΎ ΠΈΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡ ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… ΠΏΠΎΡΠ²Π»ΡΡ‚ΡŒΡΡ Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚.

Если ΠΆΠ΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ синтаксичСскиС ошибки, Ρ‚ΠΎ ΡΡ‚ΠΎ ΠΎΡ‚Π½ΡŽΠ΄ΡŒ Π½Π΅ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π·Π°Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ всСгда, Π½Π΅ Π²Ρ‹Π·Ρ‹Π²Π°Ρ сообщСний ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ…, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΊΡ€ΠΎΠΌΠ΅ синтаксичСских ошибок сущСствуСт Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ присутствия Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ логичСских ошибок.

ΠžΡ‚Ρ‡Π°ΡΡ‚ΠΈ это происходит благодаря нСсколько ΠΏΡ€ΠΈΡ‡ΡƒΠ΄Π»ΠΈΠ²Ρ‹ΠΌ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ построСния ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ². ΠšΡ€ΠΎΠΌΠ΅ стандартного Π½Π°Π±ΠΎΡ€Π° Π±ΡƒΠΊΠ², Ρ†ΠΈΡ„Ρ€ ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Π° «_» Π² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°Ρ… допускаСтся использованиС символа «'», Π² Ρ‚ΠΎΠΌ числС Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ. Данная ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡŽ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ (срСди бСсчислСнного мноТСства Π΄Ρ€ΡƒΠ³ΠΈΡ…) ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ источника ошибок. НапримСр, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π±Π΅Π· ошибок, Π½ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, скорСС всСго, Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΌ ΠΎΡ‚ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠ³ΠΎ:

$Owner = «John» ;

print («That's $Owner's house.»);

На Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅ Π² Ρ‚Π°ΠΊΠΎΠΌ случаС Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π½ΠΎ: «That's house.».

Π’Π°ΠΊΠΆΠ΅ Π·Π°ΡΠ»ΡƒΠΆΠΈΠ²Π°ΡŽΡ‚ внимания Ρ„ΠΎΡ€ΠΌΡ‹ записи Ρ†Π΅Π»Ρ‹Ρ… ΠΈ Π²Π΅Ρ‰Π΅ΡΡ‚Π²Π΅Π½Π½Ρ‹Ρ… чисСл. И Π·Π΄Π΅ΡΡŒ Π½Π΅ ΠΎΠ±ΠΎΡˆΠ»ΠΎΡΡŒ Π±Π΅Π· ΡΡŽΡ€ΠΏΡ€ΠΈΠ·ΠΎΠ². ΠšΡ€ΠΎΠΌΠ΅ стандартных Ρ„ΠΎΡ€ΠΌ записи Ρ†Π΅Π»Ρ‹Ρ… ΠΈ Π²Π΅Ρ‰Π΅ΡΡ‚Π²Π΅Π½Π½Ρ‹Ρ… чисСл Π²Ρ€ΠΎΠ΄Π΅.

  • 123 # Ρ†Π΅Π»ΠΎΠ΅
  • 123.123 # вСщСствСнноС

.5 # ΠΏΡ€ΠΈ записи дСсятичных Π΄Ρ€ΠΎΠ±Π΅ΠΉ ноль Π² Ρ†Π΅Π»ΠΎΠΉ части ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ.

.5E-10 # ΡΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ°.

  • 0xABCD # ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½Ρ‹Π΅ числа Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ Π² C
  • 0377 # Ссли пСрвая Ρ†ΠΈΡ„Ρ€Π° — ноль, Ρ‚ΠΎ ΡΡ‚ΠΎ Π²ΠΎΡΡŒΠΌΠ΅Ρ€ΠΈΡ‡Π½ΠΎΠ΅ число

Perl ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΈ Ρ‚Π°ΠΊΡƒΡŽ:

9123_456 # это, Π²ΠΈΠ΄ΠΈΠΌΠΎ, для «ΡƒΠ΄ΠΎΠ±ΡΡ‚Π²Π° чтСния» .

ΠΈ Π΄Π°ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°, Ρ‚Π°ΠΊΡƒΡŽ:

91__23___456_____.

Π’Π°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ ошибки, Ссли ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ символ «_» Π² Π½Π°Ρ‡Π°Π»Π΅ числа, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

$f = _1;

print ($f + 2); # Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π½ΠΎ 2 вмСсто ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹Ρ… 3.

print (_1 + 2); # Π° Ρ‚Π°ΠΊ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π½ΠΎ.

2.2.2 ΠžΡ‚Π»Π°Π΄ΠΊΠ° шаблонов Π’Π°ΠΊΠΎΠΉ повсСмСстно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ Π² ΡΠ·Ρ‹ΠΊΠ΅ Perl инструмСнт, ΠΊΠ°ΠΊ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹, заслуТиваСт ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ рассмотрСния. НаличиС встроСнной нСпосрСдствСнно Π² ΡΠ·Ρ‹ΠΊ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ€ΠΎΠ΄Π° возмоТностСй, ΠΊΠ°ΠΊ сопоставлСниС с ΡˆΠ°Π±Π»ΠΎΠ½ΠΎΠΌ, являСтся ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΎΠΌ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½ΠΎΠΉ ориСнтированности языка, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΠΎ для языков ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния. Π’ ΡΡ‚ΠΎΠΌ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ сильно проявляСтся Ρ‚ΠΎΡ‚ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ примСнСния языка Perl Π±Ρ‹Π»Π° Π²ΠΏΠΎΠ»Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΈ Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ Ρ‚Π°ΠΊΠΎΠΉ ΡˆΠΈΡ€ΠΎΠΊΠΎΠΉ, ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠ½Π° являСтся сСйчас. Π”Π°, ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ достаточно ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ класс Π·Π°Π΄Π°Ρ‡, связанных с Π°Π½Π°Π»ΠΈΠ·ΠΎΠΌ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ строк, Π½ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΈΡ… ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ нСпосрСдствСнно Π² ΡΠ·Ρ‹ΠΊ Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ услоТняСт Π΅Π³ΠΎ, для языка ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ вынСсти ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ шаблонов Π²ΠΎ Π²Π½Π΅ΡˆΠ½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ.

ΠœΠ½ΠΎΠ³ΠΎΡ‡ΠΈΡΠ»Π΅Π½Π½Ρ‹Π΅ выраТСния с ΡˆΠ°Π±Π»ΠΎΠ½Π°ΠΌΠΈ ΠΌΠΎΠ³ΡƒΡ‚ вСсьма Π·Π°Ρ‚Ρ€ΡƒΠ΄Π½ΠΈΡ‚ΡŒ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ‡Ρ‚ΠΎ становится особСнно ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Ρ‹ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅ ΠΈΠ»ΠΈ Π΄ΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

НапримСр, Π½ΠΈΠΆΠ΅ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½Ρ‹ΠΉ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ провСряСт соотвСтствиС Π΄Π°Ρ‚Ρ‹ $FORM{'date1'} общСпринятому Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρƒ Π΄Π°Ρ‚Ρ‹ Ρ‡Π΅Ρ€Π΅Π· Ρ‚ΠΎΡ‡ΠΊΡƒ. Данная ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅ Π²Π²ΠΎΠ΄Π° Π΄Π°Ρ‚ Π½Π°Ρ‡Π°Π»Π° ΠΈ ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΡ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΊΠ° ΠΏΡ€ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ сСмСстра ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΡ списка студСнтов, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠΈΡ… ΠΎΡ†Π΅Π½ΠΊΠΈ Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ Π·Π° Π·Π°Π΄Π°Π½Π½Ρ‹ΠΉ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ Π‘Ρ€Π°Π·Ρƒ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ данная конструкция, ΠΏΠΎΠ½ΡΡ‚ΡŒ слоТно. Для этого трСбуСтся нСпростой синтаксичСский Ρ€Π°Π·Π±ΠΎΡ€ шаблона.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ CGI-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

2.2.3 ИспользованиС ModPerl.

ModPerl — это Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Web-сСрвСра Apache, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰Π΅Π΅ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡŽ с Perl для ускорСния выполнСния CGI-скриптов. Π”Π°Π½Π½ΠΎΠ΅ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Π΄Π°Ρ‘Ρ‚ Π²Ρ‹ΠΈΠ³Ρ€Ρ‹Ρˆ ΠΏΠΎ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΠΈ выполнСния Perl-скриптов Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ Π² 2 Ρ€Π°Π·Π°, Ρ‚Π°ΠΊΠΆΠ΅ позволяСт ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ врСмя Π½Π° ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅/Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ ΡΠ΅Ρ€Π²Π΅Ρ€Ρƒ Π‘Π”. БистСма ОРОКБ начиная с Π²Π΅Ρ€ΡΠΈΠΈ 2.1 Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ModPerl. ИспользованиС Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ вносит свои особыС трСбования ΠΊ Perlскриптам: всСм ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ (скалярным, списковым (массивам) ΠΈ Ρ…ΡΡˆΠ°ΠΌ (ассоциативным массивам)) ΠΏΠ΅Ρ€Π΅Π΄ использованиСм Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ присвоСны Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ значСния. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ послСдниС присвоСнныС значСния, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Π±ΠΎΠ»ΡŒΡˆΠΈΠΌ слоТностям ΠΏΡ€ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅ Π²Π²ΠΈΠ΄Ρƒ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… сообщСний ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΏΡ€ΠΈ использовании Ρ‚Π°ΠΊΠΈΡ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ‚.

2.2.4 Ошибки ΠΏΡ€ΠΈ настройкС WWW-сСрвСра Π‘ΠΎΠ»ΡŒΡˆΠΎΠ΅ число ошибок Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π² ΡΠ²ΡΠ·ΠΈ с Ρ€Π°Π·Π³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ΠΌ доступа ΠΊ Ρ„Π°ΠΉΠ»Π°ΠΌ ΠΏΡ€ΠΈ настройкС WWW-сСрвСра. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, WWW-сСрвСра Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы Unix (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Linux, FreeBSD ΠΈΠ»ΠΈ Solaris). Π’ ΡΡ‚ΠΎΠΌ случаС достигаСтся максимальная ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Web-сСрвСров ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм сСмСйства Windows.

Π’ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС Unix с Ρ„Π°ΠΉΠ»ΠΎΠΌ связано ΠΌΠ½ΠΎΠ³ΠΎ характСристик. Π’ ΡΠΈΡΡ‚Π΅ΠΌΠ΅ Π½Π΅Ρ‚ «Π½ΠΈΡ‡ΡŒΠΈΡ…» Ρ„Π°ΠΉΠ»ΠΎΠ², всС Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π°-ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π°-Π³Ρ€ΡƒΠΏΠΏΡƒ.

ΠŸΡ€Π°Π²Π° доступа Π·Π°Π΄Π°ΡŽΡ‚ΡΡ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ числом Π² Π²ΠΎΡΡŒΠΌΠ΅Ρ€ΠΈΡ‡Π½ΠΎΠΉ записи ΠΈ Ρ€Π°Π·Π±ΠΈΡ‚Ρ‹ Π½Π° 3 части ΠΏΠΎ 3 Π±ΠΈΡ‚Π°: КаТдая Ρ‡Π°ΡΡ‚ΡŒ Π·Π°Π΄Π°Π΅Ρ‚ ΠΏΡ€Π°Π²Π° доступа для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹:

  • 1я — ΠΏΡ€Π°Π²Π° доступа для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ Ρ„Π°ΠΉΠ»;
  • 2я — для Π³Ρ€ΡƒΠΏΠΏΡ‹, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ Ρ„Π°ΠΉΠ»;
  • 3я — для всСх ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ….

Π’ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ Π²Ρ‹Π΄Π΅Π»ΡΡŽΡ‚ΡΡ 3 ΠΏΡ€Π°Π²Π°: ΠΏΡ€Π°Π²ΠΎ Π½Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅, ΠΏΡ€Π°Π²ΠΎ Π½Π° Π·Π°ΠΏΠΈΡΡŒ ΠΈ ΠΏΡ€Π°Π²ΠΎ Π½Π° ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅.

ΠŸΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Ρ„Π°ΠΉΠ»Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ, опСрационная систСма сравниваСт ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ с ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π° Ρ„Π°ΠΉΠ»Π°, Ссли ΠΎΠ½ΠΈ Ρ€Π°Π²Π½Ρ‹, Ρ‚ΠΎ Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ ΠΏΡ€Π°Π²Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Ссли Π½Π΅ Ρ€Π°Π²Π½Ρ‹, Ρ‚ΠΎ ΡΡ€Π°Π²Π½ΠΈΠ²Π°ΡŽΡ‚ся ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ Π³Ρ€ΡƒΠΏΠΏΡ‹, Ссли ΠΈ ΠΎΠ½ΠΈ Π½Π΅ Ρ€Π°Π²Π½Ρ‹, Ρ‚ΠΎ Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ ΠΏΡ€Π°Π²Π° доступа для ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ…. Π’ Ρ‚ΠΎΠΌ случаС Ссли Ρƒ ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ° Π½Π΅Ρ‚ достаточных ΠΏΡ€Π°Π², систСма Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ. Для ΡΡƒΠΏΠ΅Ρ€ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ root ΠΏΡ€Π°Π²Π° доступа Π½Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚ся.

Π‘ΠΊΡ€ΠΈΠΏΡ‚ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚ΠΎΠΌ случаС, Ссли Π΅ΡΡ‚ΡŒ ΠΏΡ€Π°Π²Π° Π½Π° Π΅Π³ΠΎ исполнСниС.

Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ распрСдСлСния ΠΏΡ€Π°Π² доступа ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ²Π»Π΅Ρ‡ΡŒ катастрофичСскиС послСдствия для Web-сСрвСра, поэтому вопросу настройки WWW-сСрвСра слСдуСт ΡƒΠ΄Π΅Π»ΡΡ‚ΡŒ большоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅.

2.2.5 Ошибки ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ SQL-Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Если программист ΠΏΡ€ΠΈ составлСнии запроса ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… допускаСт ΠΊΠ°ΠΊΡƒΡŽ-Π»ΠΈΠ±ΠΎ ΠΎΡˆΠΈΠ±ΠΊΡƒ, Ρ‚ΠΎ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ скрипта Π½Π° ΡΠΊΡ€Π°Π½Π΅ появится сообщСниС ΠΎΠ± ΡΡ‚ΠΎΠΌ с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ выраТСния, Π²Ρ‹Π·Π²Π°Π²ΡˆΠ΅Π³ΠΎ ΠΎΡˆΠΈΠ±ΠΊΡƒ. ΠŸΡ€ΠΈ этом Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ΅ мСсто Π² SQL-Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΉ источник. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ Π½Π΅ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅, полю Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, Ρ‚Π°ΠΊ ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π° синтаксичСскиС ошибки.

БинтаксичСскиС ошибки ΠΏΡ€ΠΈ составлСнии запроса ΠΊ Π‘Π”, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ логичСских ошибок Π² Perl-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. Π’Π°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² SQL-Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌΡ‹Π΅ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… запросов. Если ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ такая пСрСмСнная Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π½ΡƒΠ»Π΅Π²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ запроса Π±Ρ‹Π» Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Ρ‘Π½ пустой Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚), Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ‚ сообщСниС ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ΅. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ‚Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Ρ‘Π½Π½Ρ‹Π΅ послС выполнСния ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ выраТСния Π²ΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°Π½ΠΈΠ΅ ошибок Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ€ΠΎΠ΄Π°.

Но ΠΎΡ‚сутствиС сообщСний ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ SQL-Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΎΡ‚Π½ΡŽΠ΄ΡŒ Π½Π΅ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ. ΠŸΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ слоТных связСй ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠ°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² Π‘Π” систСмы ОРОКБ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ логичСскиС ошибки ΠΏΡ€ΠΈ составлСнии Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… запросов. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ программисту Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ‡Ρ‘Ρ‚ΠΊΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ структуру Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Π·Π½Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ ΠΏΠΎΠ»Π΅ΠΉ Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ‚Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π°Π½Π°Π»ΠΈΠ· составляСмых SQL-Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΏΡ€ΠΈ написании ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ