рдЕрдВрдЧреНрд░реЗрдЬрд╝реАрдлреНрд░реЗрдВрдЪрд╕реНрдкреЗрдирд┐рд╢

рдСрдирд╡рд░реНрдХреНрд╕ рдлрд╝реЗрд╡рд┐рдХреЙрди

PDL::BadValuesp - рдХреНрд▓рд╛рдЙрдб рдореЗрдВ рдСрдирд▓рд╛рдЗрди

рдЙрдмрдВрдЯреВ рдСрдирд▓рд╛рдЗрди, рдлреЗрдбреЛрд░рд╛ рдСрдирд▓рд╛рдЗрди, рд╡рд┐рдВрдбреЛрдЬ рдСрдирд▓рд╛рдЗрди рдПрдореБрд▓реЗрдЯрд░ рдпрд╛ рдореИрдХ рдУрдПрд╕ рдСрдирд▓рд╛рдЗрди рдПрдореБрд▓реЗрдЯрд░ рдкрд░ рдСрдирд╡рд░реНрдХреНрд╕ рдореБрдлреНрдд рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдкреНрд░рджрд╛рддрд╛ рдореЗрдВ PDL::BadValuesp рдЪрд▓рд╛рдПрдВ

рдпрд╣ PDL::BadValuesp рдХрдорд╛рдВрдб рд╣реИ рдЬрд┐рд╕реЗ рд╣рдорд╛рд░реЗ рдХрдИ рдореБрдлреНрдд рдСрдирд▓рд╛рдЗрди рд╡рд░реНрдХрд╕реНрдЯреЗрд╢рди рдЬреИрд╕реЗ рдЙрдмрдВрдЯреВ рдСрдирд▓рд╛рдЗрди, рдлреЗрдбреЛрд░рд╛ рдСрдирд▓рд╛рдЗрди, рд╡рд┐рдВрдбреЛрдЬ рдСрдирд▓рд╛рдЗрди рдПрдореБрд▓реЗрдЯрд░ рдпрд╛ рдореИрдХ рдУрдПрд╕ рдСрдирд▓рд╛рдЗрди рдПрдореБрд▓реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдСрдирд╡рд░реНрдХреНрд╕ рдлреНрд░реА рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдкреНрд░рджрд╛рддрд╛ рдореЗрдВ рдЪрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдХрд╛рд░реНрдпрдХреНрд░рдо:

рдирд╛рдо


PDL::BadValues тАЛтАЛ- PDL рдореЗрдВ рдЦрд░рд╛рдм рдореВрд▓реНрдп рд╕рдорд░реНрдерди рдХреА рдЪрд░реНрдЪрд╛

рд╡рд░реНрдгрди


рдХреНрдпрд╛ рд░рд╣реЗ рдмреБрд░рд╛ рдорд╛рдиреЛрдВ рдФрд░ рдХреНрдпреЛрдВ рдЪрд╛рд╣рд┐рдП I рдирд╛рдХ рдореЗрдВ рджрдо рдХрд░рдирд╛ рд╕рд╛рде рдореЗрдВ рдЙрдиреНрд╣реЗрдВ?
рдХрднреА-рдХрднреА рдпрд╣ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЙрдкрдпреЛрдЧреА рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рдирд┐рд╢реНрдЪрд┐рдд рдорд╛рди 'рдЦрд░рд╛рдм' рд╣реИ рдпрд╛ 'рд▓рд╛рдкрддрд╛' рд╣реИ; рдХреЗ рд▓рд┐рдП
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЦрдЧреЛрд▓ рд╡рд┐рдЬреНрдЮрд╛рди рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕реАрд╕реАрдбреА 2рдбреА рдЫрд╡рд┐рдпрд╛рдВ рдЙрддреНрдкрдиреНрди рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдХреБрдЫ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ
рдбрд┐рдЯреЗрдХреНрдЯрд░ рдореЗрдВ рдЦрд╛рдорд┐рдпреЛрдВ рдХреЗ рдХрд╛рд░рдг рдЕрдорд╛рдиреНрдп рдбреЗрдЯрд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред рдЬрдмрдХрд┐ рдкреАрдбреАрдПрд▓ рдХрд╛ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╕реВрдЪрдХрд╛рдВрдХ
рд░реВрдЯреАрди рдФрд░ рдбреЗрдЯрд╛рдлреНрд▓реЛ, рд╕реНрд▓рд╛рдЗрд╕ рдЖрджрд┐ рдХреЗ рд╕рд╛рде рд╕рднреА рдЬрдЯрд┐рд▓ рд╡реНрдпрд╡рд╕рд╛рдп рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдпреЗ
рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЛ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдРрд╕рд╛ рдХрд░рдирд╛ рдЕрдЬреАрдм рд╣реИред рдпрд╣ рд╣реЛрдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реЛрдЧрд╛
"$c = $a + $b" рдХрд╣рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдФрд░ рд╕рд╛рд░реА рдкрд░реЗрд╢рд╛рдиреА рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдЫреЛрдбрд╝ рджреЗрдВред

рдпрджрд┐ рдЖрдкрдХреА рдЗрд╕рдореЗрдВ рд░реБрдЪрд┐ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдк (рд╕рд╣реА рд░реВрдк рд╕реЗ) рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд┐рдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рд╣реЛрдЧрд╛
рдкреАрдбреАрдПрд▓ рдХреА рдЧрддрд┐ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдСрдкрд░реЗрд╢рди рдореЗрдВ рдЦрд░рд╛рдм рдореВрд▓реНрдп рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХрд╛ рдУрд╡рд░рд╣реЗрдб рд╣реЛрддрд╛ рд╣реИ
рдмрдбрд╝рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ. рдЗрд╕ рд╡рдЬрд╣ рд╕реЗ, рдХреЛрдб рдХреЛ рдпрдерд╛рд╕рдВрднрд╡ рддреЗрдЬрд╝ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ -
рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЙрди рдкрд┐рдбрд▓реНрд╕ рдкрд░ рд╕рдВрдЪрд╛рд▓рди рдХрд░рддреЗ рд╕рдордп рдЬрд┐рдирдореЗрдВ рдЦрд░рд╛рдм рдорд╛рди рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЖрдк
рдкрд┐рдбрд▓реНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдХреЛрдИ рдЧрддрд┐ рдЕрдВрддрд░ рдирд╣реАрдВ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ
рдЦрд╝рд░рд╛рдм рдорд╛рди рд╢рд╛рдорд┐рд▓ рд╣реИрдВ.

рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрджрд┐ рдЖрдк рдЦрд░рд╛рдм рдорд╛рди рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдкреАрдбреАрдПрд▓ рдХрд╛ "WITH_BADVAL" рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╡рд┐рдХрд▓реНрдк
рдмрдЪрд╛рд╡ рдХреЗ рд▓рд┐рдП рдЖрддрд╛ рд╣реИ; рдпрджрд┐ 0 рдпрд╛ рдЕрдирдбрд┐рдлрд╝ рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдЦрд░рд╛рдм-рдореВрд▓реНрдп рд╕рдорд░реНрдерди рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ
рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА - рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ, рдореИрдВ рдкрдХреНрд╖рдкрд╛рддреА рд╣реВрдВ ;) - рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╣реИ
рд╕реАрдорд┐рдд рдбрд┐рд╕реНрдХ рдпрд╛ рдореЗрдореЛрд░реА рд╕реНрдерд╛рди, рдХреНрдпреЛрдВрдХрд┐ рдХреЛрдб рдХрд╛ рдЖрдХрд╛рд░ рдмрдврд╝ рдЧрдпрд╛ рд╣реИ (рдиреАрдЪреЗ рджреЗрдЦреЗрдВ)ред

рдЖрдк рдпрд╣ рднреА рдкреВрдЫ рд╕рдХрддреЗ рд╣реИрдВ 'рдареАрдХ рд╣реИ, рдореЗрд░рд╛ рдХрдВрдкреНрдпреВрдЯрд░ IEEE NaN рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореЗрд░реЗ рдкрд╛рд╕ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣реИ'ред рдкреВрд░реНрдг рд░реВрдк рд╕реЗ рд╣рд╛рдБ
рдФрд░ рдирд╣реАрдВ - рдХрдИ рд░реВрдЯреАрди, рдЬреИрд╕реЗ "y=sin(x)", рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдмрд┐рдирд╛ NaN рдХрд╛ рдкреНрд░рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗ
рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рдХреЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд▓реЗрдХрд┐рди "qsort", рдпрд╛ рдХрд┐рд╕реА рд╕рд░рдгреА рдХреЗ рдордзреНрдп рдХреЛ рдЦреЛрдЬрдиреЗ рдЬреИрд╕реА рджрд┐рдирдЪрд░реНрдпрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ
рдЦрд╝рд░рд╛рдм рдорд╛рдиреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдкреБрдирдГ рдХреЛрдбрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ред рдлрд╝реНрд▓реЛрдЯрд┐рдВрдЧ-рдкреЙрдЗрдВрдЯ рдбреЗрдЯрд╛рдЯрд╛рдЗрдк рдХреЗ рд▓рд┐рдП, "NaN" рдФрд░ "Inf" рд╣реИрдВ
рдЦрд╝рд░рд╛рдм рдореВрд▓реНрдпреЛрдВ рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ IF рдЖрдкрдХреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╡рд┐рдХрд▓реНрдк "BADVAL_USENAN" 1 рдкрд░ рд╕реЗрдЯ рд╣реИред
рдЕрдиреНрдпрдерд╛ рд╡рд┐рд╢реЗрд╖ рдорд╛рдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЦрд╝рд░рд╛рдм рдорд╛рди)ред рдореЗрд░реЗ рдкрд╛рд╕ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдирд╣реАрдВ рд╣реИ
рджреЗрдЦреЗрдВ рдХрд┐ рдХреМрди рд╕рд╛ рд╡рд┐рдХрд▓реНрдк рддреЗрдЬрд╝ рд╣реИ.

рдПрдХ рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рд╕реБрд╡рд┐рдзрд╛ "BADVAL_PER_PDL" рд╣реИ, рдЬреЛ рд╕реЗрдЯ рд╣реЛрдиреЗ рдкрд░ рдЖрдкрдХреЛ рдЗрд╕рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ
рдПрдХ рд╣реА рдкреНрд░рдХрд╛рд░ рдХреА рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкрд╣реЗрд▓рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЦрд╝рд░рд╛рдм рдорд╛рдиред рдпрд╣ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ
"BADVAL_USENAN" рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде; рдпрджрд┐ рджреЛрдиреЛрдВ рд╕реЗрдЯ рд╣реИрдВ рддреЛ рдкреАрдбреАрдПрд▓ "BADVAL_USENAN" рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░ рджреЗрдЧрд╛
рдореВрд▓реНрдп.

рдХреЛрдб рд╡реГрджреНрдзрд┐ рджреЛ рд╕реЗрд╡рд╛ рдореЗрд░реЗ рдмреБрд░рд╛ рдорд╛рдиреЛрдВ
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рддреБрд▓рдирд╛ рдкреБрд░рд╛рдиреА рд╣реЛ рдЪреБрдХреА рд╣реИ!

Linux рдФрд░ Perl 386_5.005 рдЪрд▓рд╛рдиреЗ рд╡рд╛рд▓реА i03 рдорд╢реАрди рдкрд░, рдореИрдВрдиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЖрдХрд╛рд░ рдорд╛рдкреЗ (
рд╕реНрд▓реЗрдЯреЗрдХ рдХреЛрдб рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рд╕реЗ рдХреЛрдИ рдирд╣реАрдВ: рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдлрдПрдлрдЯреАрдбрдмреНрд▓реНрдпреВ, рдЬреАрдПрд╕рдПрд▓, рдФрд░ рдЯреНрд░рд╛рдЗрдбреА
рдереЗ):

with_BADVAL = 0
рд╕рдлрд▓ рдореЗрдХ рдХреЗ рдмрд╛рдж рдмреНрд▓рд┐рдм рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХрд╛ рдЖрдХрд╛рд░ = 4963 kb: рдмреНрд▓рд┐рдм/рдЖрд░реНрдХ = 2485 рдХреЗрдмреА рдФрд░
рдмреНрд▓рд┐рдм/рд▓рд┐рдм = 1587 рдХреЗрдмреАред

with_BADVAL = 1
рд╕рдлрд▓ рдореЗрдХ рдХреЗ рдмрд╛рдж рдмреНрд▓рд┐рдм рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХрд╛ рдЖрдХрд╛рд░ = 5723 kb: рдмреНрд▓рд┐рдм/рдЖрд░реНрдХ = 3178 рдХреЗрдмреА рдФрд░
рдмреНрд▓рд┐рдм/рд▓рд┐рдм = 1613 рдХреЗрдмреАред

рддреЛ, рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░ рд╡реГрджреНрдзрд┐ рд╣реИ рдХреЗрд╡рд▓ 15% - рдЙрди рд╕рднреА рдЖрд╢реНрдЪрд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рднреБрдЧрддрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реИ рдЬреЛ рдЦрд░рд╛рдм рдореВрд▓реНрдп рд░рдЦрддреЗ рд╣реИрдВ
рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ ;)

рдЗрд╕ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ рдЕрдзрд┐рдХрд╛рдВрд╢ рдореБрдЦреНрдп рд░реВрдЯреАрди (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП) рдереЗ
рдмреЗрд╕рд┐рдХ/) рдХреЛ рдЦрд░рд╛рдм рдорд╛рдиреЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛, рдЬрдмрдХрд┐ рдмрд╣реБрдд рдХрдо 'рдмрд╛рд╣рд░реА' рд░реВрдЯреАрди (рдЕрд░реНрдерд╛рддреН) рдХреЛ рдЙрдкрдпреЛрдЧ рдореЗрдВ рд▓рд╛рдпрд╛ рдЧрдпрд╛
рдкреАрдбреАрдПрд▓ рд╡рд┐рддрд░рдг рдореЗрдВ рдмрд╛рдХреА рд╕рдм рдХреБрдЫ рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

A рддреНрд╡рд░рд┐рдд рд╕рд┐рдВрд╣рд╛рд╡рд▓реЛрдХрди
рдкреАрдбреАрдПрд▓> рдкреА $рдкреАрдбреАрдПрд▓::рдЦрд░рд╛рдм::рд╕реНрдерд┐рддрд┐
1
рдкреАрдбреАрдПрд▓> $рдП = рдЕрдиреБрдХреНрд░рдо(4,3);
рдкреАрдбреАрдПрд▓> рдкреА $рдП
[
[0 1 2 3]
[4 5 6 7]
[8 9 10 11]
]
рдкреАрдбреАрдПрд▓> $рдП = $рдП->рд╕реЗрдЯрдмреИрдбрд┐рдлрд╝( $рдП % 3 == 2 )
рдкреАрдбреАрдПрд▓> рдкреА $рдП
[
[ 0 1 рдЦрд╝рд░рд╛рдм 3 ]
[4 рдмреБрд░рд╛ 6 7]
[рдмреБрд░рд╛ 9 10 рдмреБрд░рд╛]
]
рдкреАрдбреАрдПрд▓> $рдП *=3
рдкреАрдбреАрдПрд▓> рдкреА $рдП
[
[ 0 3 рдЦрд╝рд░рд╛рдм 9 ]
[12 рдмреБрд░рд╛ 18 21]
[рдмреБрд░рд╛ 27 30 рдмреБрд░рд╛]
]
рдкреАрдбреАрдПрд▓> рдкреА $рдП->рдпреЛрдЧ
120

Perldl рдпрд╛ pdl2 рдХреЗ рднреАрддрд░ "рдбреЗрдореЛ рдмреИрдб" рдФрд░ "рдбреЗрдореЛ рдмреИрдб2" рдХреБрдЫ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рджреЗрддрд╛ рд╣реИ
рдмреБрд░реЗ рдореВрд▓реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдЪреАрдЬреЗрдВ рд╕рдВрднрд╡ рд╣реИрдВред рдпреЗ рдкреАрдбреАрдПрд▓ рдХреА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рднреА рдЙрдкрд▓рдмреНрдз рд╣реИрдВ
http://pdl.perl.org/demos/. рдЦрд░рд╛рдм рдореВрд▓реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рджрд┐рдирдЪрд░реНрдпрд╛ рдХреЗ рд▓рд┐рдП PDL::Bad рджреЗрдЦреЗрдВ
рдФрд░ t/рдЦрд╝рд░рд╛рдм.t рдЙрдиреНрд╣реЗрдВ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдореЗрдВ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдПред

рдЗрд░рд╛рджрд╛ рдпрд╣ рд╣реИ:

┬╖ рдЙрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдкреАрдбреАрдПрд▓ рдХреЛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд░реВрдк рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рдЬрд┐рдиреНрд╣реЗрдВ рдЦрд░рд╛рдм рдореВрд▓реНрдп рд╕рдорд░реНрдерди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ

┬╖ рдЦрд╝рд░рд╛рдм рдореВрд▓реНрдп рд╕рдорд░реНрдерди рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрдиреЗ рдкрд░ рдпрдерд╛рд╕рдВрднрд╡ рддреЗрдЬрд╝ рд░рд╣реЗрдВ

рдпрджрд┐ рдЖрдк рдХрднреА рднреА рдЦрд░рд╛рдм рдореВрд▓реНрдп рд╕рдорд░реНрдерди рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк "WITH_BADVAL" рдХреЛ 0 рдкрд░ рд╕реЗрдЯ рдХрд░реЗрдВ perldl.conf; рдкреАрдбреАрдПрд▓
рдлрд┐рд░ рдЗрд╕рдореЗрдВ рдХреЛрдИ рдЦрд░рд╛рдм рдореВрд▓реНрдп рд╕рдорд░реНрдерди рд╕рдВрдХрд▓рд┐рдд рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЙрддрдирд╛ рд╣реА рддреЗрдЬрд╝ рд╣реЛрдЧрд╛ рдЬрд┐рддрдирд╛ рдкрд╣рд▓реЗ рд╣реБрдЖ рдХрд░рддрд╛ рдерд╛ред

рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдЦрд░рд╛рдм рдореВрд▓реНрдп рд╕рдорд░реНрдерди рдХрд╛ рдЧрддрд┐ рдкрд░ рдирдЧрдгреНрдп рдкреНрд░рднрд╛рд╡ рдкрдбрд╝рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдк
"WITH_CONFIG" рдХреЛ 1 рдкрд░ рд╕реЗрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП! рдПрдХ рдЕрдкрд╡рд╛рдж рдпрд╣ рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдкрдХреА рдпрд╛рджрджрд╛рд╢реНрдд рдХрдо рд╣реИ, рддреЛ рдорд╛рддреНрд░рд╛ рдХреЗ рдмрд╛рдж рд╕реЗ
рдЙрддреНрдкрд╛рджрд┐рдд рдХреЛрдб рдХреА рдорд╛рддреНрд░рд╛ рдЕрдзрд┐рдХ рд╣реИ (рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рд▓рдЧрднрдЧ 15% - рджреЗрдЦреЗрдВ "рдЦрд░рд╛рдм рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг рдХреЛрдб рдореЗрдВ рд╡реГрджреНрдзрд┐ред"
рдорд╛рди")ред

рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ рдкреАрдбреАрдПрд▓ рдХреЛ рдЦрд░рд╛рдм рдореВрд▓реНрдп рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рджреЛрдиреЛрдВ рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдПрдХ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рджреЗрдЦреЗрдВ
$PDL::Config{WITH_BADVAL} рдпрд╛ $PDL::Bad::Status - рдпрджрд┐ рд╕рддреНрдп рд╣реИ рддреЛ рдпрд╣ рд╕рддреНрдп рд╣реИред

рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ рдХреЛрдИ рд░реВрдЯреАрди рдЦрд╝рд░рд╛рдм рдорд╛рдиреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, perldl рдпрд╛ pdl2 рдореЗрдВ " Badinfo " рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
рдпрд╛ pdldoc рдХреЗ рд▓рд┐рдП "-b" рд╡рд┐рдХрд▓реНрдкред рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ 'рдЕрд╡рдзрд╛рд░рдгрд╛ рдХрд╛ рдкреНрд░рдорд╛рдг' (рдпрд╛, рдЕрдзрд┐рдХ) рд╣реИ
рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд░реВрдк рд╕реЗ, рдПрдХ рддреНрд╡рд░рд┐рдд рд╣реИрдХ) рдЗрд╕рд▓рд┐рдП рдЙрдореНрдореАрдж рдХрд░реЗрдВ рдХрд┐ рдпрд╣ рдХрд┐рдирд╛рд░реЛрдВ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдЦреБрд░рджреБрд░рд╛ рд╣реЛрдЧрд╛ред

рдкреНрд░рддреНрдпреЗрдХ рдкрд┐рдбрд▓ рдореЗрдВ рдПрдХ рдзреНрд╡рдЬ рд╣реЛрддрд╛ рд╣реИ - "$pdl-> Badflag" рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд╣реБрдВрдЪ рдпреЛрдЧреНрдп - рдпрд╣ рдмрддрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ рдХреЛрдИ рд╣реИ
рдЦрд╝рд░рд╛рдм рдбреЗрдЯрд╛ рдореМрдЬреВрдж:

┬╖ рдЕрдЧрд░ рдЕрд╕рддреНрдп/0, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рдХреЛрдИ рдЦрд╝рд░рд╛рдм рдбреЗрдЯрд╛ рдирд╣реАрдВ рд╣реИ, рдХреЛрдб "рдХреЛрдб" рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
"pp_def()" рдХрд╛ рд╡рд┐рдХрд▓реНрдк рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЧрддрд┐ рдмрд╣реБрдд рдХрд░реАрдм рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП
рдЬреЛ рдХрд┐ "WITH_BADVAL=0" рдХреЗ рд╕рд╛рде рдкреНрд░рд╛рдкреНрдд рд╣реБрдЖ, рдХреНрдпреЛрдВрдХрд┐ рдПрдХрдорд╛рддреНрд░ рдУрд╡рд░рд╣реЗрдб рдП рддрдХ рдХрдИ рдкрд╣реБрдВрдЪ рд╣реИ
рдкрд┐рдбрд▓реНрд╕ рд╕реНрдЯреЗрдЯ рд╡реЗрд░рд┐рдПрдмрд▓ рдореЗрдВ рдмрд┐рдЯред

┬╖ рдЕрдЧрд░ рд╕рддреНрдп/1, рддреЛ рдпрд╣ рд╡рд╣рд╛рдВ рдХрд╣рддрд╛ рд╣реИ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдкрд╣реЗрд▓реА рдореЗрдВ рдЦрд░рд╛рдм рдбреЗрдЯрд╛ рд╣реЛ, рдЗрд╕рд▓рд┐рдП рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
"рдмреИрдбрдХреЛрдб" рд╡рд┐рдХрд▓реНрдк (рдпрд╣ рдорд╛рдирддреЗ рд╣реБрдП рдХрд┐ рдЗрд╕ рд░реВрдЯреАрди рдХреЗ рд▓рд┐рдП "pp_def()" рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
BadCode рдХреБрдВрдЬреА рд╣реЛ)ред рдЖрдкрдХреЛ рдереНрд░реЗрдбрд┐рдВрдЧ рдХреЗ рд╕рднреА рд▓рд╛рдн рдорд┐рд▓рддреЗ рд╣реИрдВ, рдЬреИрд╕рд╛ рдХрд┐ "рдХреЛрдб" рд╕реЗ рд╣реЛрддрд╛ рд╣реИ
рд╡рд┐рдХрд▓реНрдк, рд▓реЗрдХрд┐рди рдпрд╣ рдзреАрдореА рдЧрддрд┐ рд╕реЗ рдЪрд▓реЗрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреЛ рдЗрд╕рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЛ рд╕рдВрднрд╛рд▓рдирд╛ рд╣реЛрдЧрд╛
рдмреБрд░реЗ рдореВрд▓реНрдп.

рдпрджрд┐ рдЖрдк рдПрдХ рдкрд┐рдбрд▓ рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕рдХрд╛ рдЦрд░рд╛рдм-рдореВрд▓реНрдп рдзреНрд╡рдЬ 0 рдкрд░ рд╕реЗрдЯ рд╣реЛрдЧрд╛ред рдЗрд╕реЗ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
"$pdl-> Badflag($new_ Bad_status)", рдЬрд╣рд╛рдВ $new_ Bad_status 0 рдпрд╛ 1 рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЬрдм рдПрдХ рд░реВрдЯреАрди
рдПрдХ рдкрд┐рдбрд▓ рдмрдирд╛рддрд╛ рд╣реИ, рдЗрд╕рдХрд╛ рдЦрд░рд╛рдм-рдореВрд▓реНрдп рдзреНрд╡рдЬ рдЗрдирдкреБрдЯ рдкрд┐рдбрд▓реНрд╕ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░реЗрдЧрд╛: рдЬрдм рддрдХ рдХрд┐ рдУрд╡рд░-рд░рд╛рдЗрдб рди рд╣реЛ
("рдХреЙрдкреАрдмреИрдбрд╕реНрдЯреИрдЯрд╕рдХреЛрдб" рд╡рд┐рдХрд▓реНрдк рдХреЛ "рдкреАрдкреА_рдбреАрдИрдПрдл" рдкрд░ рджреЗрдЦреЗрдВ), рдЦрд░рд╛рдм-рдореВрд▓реНрдп рдзреНрд╡рдЬ рдХреЛ рд╕рд╣реА рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдпрджрд┐
рдХрд┐рд╕реА рднреА рдЗрдирдкреБрдЯ рдкрдбрд▓ рдореЗрдВ рдЦрд╝рд░рд╛рдм рдорд╛рди рд╣реИрдВред рдпрд╣ рдЬрд╛рдБрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХрд┐рд╕реА рдвреЗрд░ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреБрдЫ рдЦрд╝рд░рд╛рдм рд╣реИ
рдбреЗрдЯрд╛, "рдЪреЗрдХ_рдмреИрдбрдлреНрд▓реИрдЧ" рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

рдзреНрдпрд╛рди рджреЗрдВ: рдмреБрд░реЗ рдЭрдВрдбреЗ рдХрд╛ рдкреНрд░рдЪрд╛рд░

рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рдкрд┐рдбрд▓ рдХрд╛ рдмреИрдбрдлреНрд▓реИрдЧ рдмрджрд▓рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдкрд░рд┐рд╡рд░реНрддрди рд╕рднреА рдкрд░ рдкреНрд░рд╕рд╛рд░рд┐рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдХреЗ рдмрдЪреНрдЪреЗ рдПрдХ рдХреА
рдкрд╣реЗрд▓реА, рддреЛ

рдкреАрдбреАрдПрд▓> $рдП = рд╢реВрдиреНрдп(20,30);
рдкреАрдбреАрдПрд▓> $рдмреА = $рдП->рд╕реНрд▓рд╛рдЗрд╕('0:10,0:10');
рдкреАрдбреАрдПрд▓> $рд╕реА = $рдмреА->рд╕реНрд▓рд╛рдЗрд╕(',(2)');
рдкреАрдбреАрдПрд▓> рдкреНрд░рд┐рдВрдЯ ">>рд╕реА:", $рд╕реА->рдмреИрдбрдлреНрд▓реИрдЧ, "\n";
>>рд╕реА: 0
рдкреАрдбреАрдПрд▓> $a->рдЦрд╝рд░рд╛рдмрдлрд╝реНрд▓реИрдЧ; (1)
рдкреАрдбреАрдПрд▓> рдкреНрд░рд┐рдВрдЯ ">>рд╕реА:", $рд╕реА->рдмреИрдбрдлреНрд▓реИрдЧ, "\n";
>>рд╕реА: 1

рдирд╣реАрдВ рдкрд┐рдбрд▓ рдХреЗ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП

рдкреАрдбреАрдПрд▓> рдкреНрд░рд┐рдВрдЯ ">>рдП:", $рдП->рдмреИрдбрдлреНрд▓реИрдЧ, "\n";
>>рдП: 1
рдкреАрдбреАрдПрд▓> $рд╕реА->рдЦрд╝рд░рд╛рдмрдлрд╝реНрд▓реИрдЧ; (0)
рдкреАрдбреАрдПрд▓> рдкреНрд░рд┐рдВрдЯ ">>рдП:", $рдП->рдмреИрдбрдлреНрд▓реИрдЧ, "\n";
>>рдП: 1

рд╡рд┐рдЪрд╛рд░:

┬╖ рдЦрд╝рд░рд╛рдм рдлрд╝реНрд▓реИрдЧ рдХреЛ рдХреЗрд╡рд▓ рддрднреА рд╕рд╛рдлрд╝ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬрдм рдХрд┐рд╕реА рдкрд┐рдбрд▓ рдХрд╛ рдХреЛрдИ рдорд╛рддрд╛-рдкрд┐рддрд╛ рди рд╣реЛ, рдФрд░ рдпрд╣ рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛрдЧрд╛
рдЙрд╕ рдкрд╣реЗрд▓реА рдХреЗ рд╕рднреА рдмрдЪреНрдЪреЛрдВ рддрдХ рдкреНрд░рдЪрд╛рд░ рдХрд░реЗрдВред рдореИрдВ рднреА рдЕрдм рдЗрд╕рдХреЗ рд▓рд┐рдП рдЙрддрдирд╛ рдЙрддреНрд╕реБрдХ рдирд╣реАрдВ рд╣реВрдВ
рдХреЛрдб рдХрд░рдирд╛ рдЕрдЬреАрдм рд╣реИ, рдПрдХ рдХреЗ рд▓рд┐рдП)ред

┬╖ "$a->рдЦрд╝рд░рд╛рдмрдлрд╝реНрд▓реИрдЧ(1)" рдХреЛ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдФрд░ рдмрдЪреНрдЪреЛрдВ рджреЛрдиреЛрдВ рдХреЗ рдмреАрдЪ рдЧрд▓рдд рд╕рдВрджреЗрд╢ рдХрд╛ рдкреНрд░рдЪрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдХрдард┐рди рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП (рд╣рд╛рд▓рд╛рдБрдХрд┐ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдкреНрд░рдпрд╛рд╕ рд╡рд┐рдлрд▓ рд░рд╣рд╛!)ред рдХреНрдпрд╛ рдпрд╣ рдмрдирд╛рддрд╛ рд╣реИ
рдлрд┐рд░ рднреА рд╕рдордЭ рдореЗрдВ рдЖрдпрд╛? рдпрд╣ рдореБрджреНрджрд╛ рднреА рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдк a рдХрд╛ рдЦрд╝рд░рд╛рдм рдорд╛рди рдмрджрд▓рддреЗ рд╣реИрдВ рддреЛ рдХреНрдпрд╛ рд╣реЛрдЧрд╛
рдкрд╣реЗрд▓реА - рдХреНрдпрд╛ рдЗрдиреНрд╣реЗрдВ рдмрдЪреНрдЪреЛрдВ/рдорд╛рддрд╛-рдкрд┐рддрд╛ рддрдХ рдкреНрд░рдЪрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП (рд╣рд╛рдБ) рдпрд╛ рдХреЗрд╡рд▓ рдЖрдкрдХреЛ рд╣реА рдРрд╕рд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП
'рд╢реАрд░реНрд╖' рд╕реНрддрд░ рдкрд░ рдмреИрдбрд╡реИрд▓реНрдпреВ рдХреЛ рдмрджрд▓рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо - рдпрд╛рдиреА рдЙрди рдкрдбрд▓реНрд╕ рдЬрд┐рдирдореЗрдВ рдирд╣реАрдВ рд╣реИ
рдорд╛рддрд╛-рдкрд┐рддрд╛ред

"рдЙрддреНрдкрддреНрддрд┐_рдмреИрдбрд╡реИрд▓реНрдпреВ ()" рд╡рд┐рдзрд┐ рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рдбреЗрдЯрд╛рдЯрд╛рдЗрдк рдХреЗ рд▓рд┐рдП рд╕рдВрдХрд▓рди-рд╕рдордп рдорд╛рди рд▓реМрдЯрд╛рддреА рд╣реИред рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ
рдкрд┐рдбрд▓реНрд╕ рдкрд░, рдкреАрдбреАрдПрд▓::рдЯрд╛рдЗрдк рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕, рдФрд░ рд╕рдВрдЦреНрдпрд╛рдПрдБ - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП

$рдкреАрдбреАрдПрд▓->рдУрд░рд┐рдЬрд┐рдирд▓рдмреИрдбрд╡реИрд▓реНрдпреВ(), рдмрд╛рдЗрдЯ->рдУрд░рд┐рдЬрд┐рдирд▓рдмреИрдбрд╡реИрд▓реНрдпреВ(), рдФрд░ рдореВрд▓_рдЦрд░рд╛рдмрдореВрд▓реНрдп(4).

рдЗрд╕рдХрд╛ рдПрдХ рднрдпрд╛рдирдХ рдирд╛рдо рднреА рд╣реИ...

рд╡рд░реНрддрдорд╛рди рдЦрд░рд╛рдм рдорд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, "рдмреИрдбрд╡реИрд▓реНрдпреВ()" рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ - рдЗрд╕рдХрд╛ рд╕рд┐рдВрдЯреИрдХреНрд╕ рднреА рд╡реИрд╕рд╛ рд╣реА рд╣реИ
"рдореВрд▓_рдмреИрдбрд╡реИрд▓реНрдпреВ()"ред

рд╡рд░реНрддрдорд╛рди рдЦрд╝рд░рд╛рдм рдорд╛рди рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рдЦрд╝рд░рд╛рдмрд╡реИрд▓реНрдпреВ рдкрд░ рдирдпрд╛ рдирдВрдмрд░ рдкреНрд░рджрд╛рди рдХрд░реЗрдВ - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП

$pdl->рдмреИрдбрд╡реИрд▓реНрдпреВ(2.3), рдмрд╛рдЗрдЯ->рдЦрд╝рд░рд╛рдм рдореВрд▓реНрдп(2), рдЦрд╝рд░рд╛рдм рдорд╛рди(5,-3e34)ред

рдиреЛрдЯ: рдорд╛рди рдЪреБрдкрдЪрд╛рдк рд╕рд╣реА рд╕реА рдкреНрд░рдХрд╛рд░ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рддрд╛ рд╣реИ - рдпрд╛рдиреА
"рдмрд╛рдЗрдЯ->рдмреИрдбрд╡реИрд▓реНрдпреВ(-26)" рдореЗрд░реА рд▓рд┐рдирдХреНрд╕ рдорд╢реАрди рдкрд░ 230 рд▓реМрдЯрд╛рддрд╛ рд╣реИред рдпрд╣ рддреИрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ "рдиреЛрдк" рднреА рд╣реИ-
рдмрд┐рдВрджреБ рдкреНрд░рдХрд╛рд░ рдЬрдм "BADVAL_USENAN" рд╕рддреНрдп рд╣реИред

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЦрд░рд╛рдм рдорд╛рди рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рд╣реИрдВ рдирд╣реАрдВ рдкрд╣рд▓реЗ рд╕реЗ рдирд┐рд░реНрдорд┐рдд рдкрд┐рдбрд▓реНрд╕ рдХреЗ рд▓рд┐рдП рдкреНрд░рдЪрд╛рд░рд┐рдд - рд╡реЗ
рдЕрднреА рднреА рдЦрд░рд╛рдм рдорд╛рди рд╕реЗрдЯ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдЕрдЪрд╛рдирдХ рдЬреЛ рддрддреНрд╡ рдЦрд░рд╛рдм рдереЗ рд╡реЗ рдмрди рдЬрд╛рдПрдВрдЧреЗ
'рдЕрдЪреНрдЫрд╛', рд▓реЗрдХрд┐рди рдкреБрд░рд╛рдирд╛ рдЦрд╝рд░рд╛рдм рдорд╛рди рдпреБрдХреНрддред рдиреАрдЪреЗ рдЪрд░реНрдЪрд╛ рджреЗрдЦреЗрдВ. рдХреЗ рд▓рд┐рдП рдпрд╣ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ
рдлрд╝реНрд▓реЛрдЯрд┐рдВрдЧ-рдкреЙрдЗрдВрдЯ рдкреНрд░рдХрд╛рд░ рдЬреЛ NaN рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдЙрдирдХрд╛ рдЦрд╝рд░рд╛рдм рдорд╛рди рдирд╣реАрдВ рдмрджрд▓ рд╕рдХрддреЗред

рдмреБрд░рд╛ рдорд╛рдиреЛрдВ рдФрд░ рдмреВрд▓рд┐рдпрди рдСрдкрд░реЗрдЯрд░реЛрдВ
рдкреАрдбреАрдПрд▓::рдСрдкреНрд╕ рдореЗрдВ рдЙрди рдмреВрд▓рд┐рдпрди рдСрдкрд░реЗрдЯрд░реЛрдВ рдХреЗ рд▓рд┐рдП, рдЦрд░рд╛рдм рдорд╛рди рдкрд░ рдореВрд▓реНрдпрд╛рдВрдХрди рдЦрд░рд╛рдм рдорд╛рди рд▓реМрдЯрд╛рддрд╛ рд╣реИред
рдЬрдмрдХрд┐ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпреЗ рд╣реИ

$рдорд╛рд╕реНрдХ = $img > $рдереНрд░реЗрд╢;

рдпрд╣ рдмреБрд░реЗ рдореВрд▓реНрдпреЛрдВ рдХрд╛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдкреНрд░рдЪрд╛рд░ рдХрд░рддрд╛ рд╣реИ рдорд░реНрдЬреА рдЬреИрд╕реЗ рдЪреЗрдХ рдХреЗ рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛рдПрдБ рдкреИрджрд╛ рдХрд░рдирд╛

do_something() рдпрджрд┐ рдХреЛрдИ рд╣реЛ ($img > $thresh );

рдЬрд┐рд╕реЗ рдХреБрдЫ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдкреБрдирдГ рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ

do_something() рдпрджрд┐ рдХреЛрдИ рд╣реЛ( set Badtoval( ($img > $thresh), 0 ) );

PDL::Ufunc рдореЗрдВ 'рдкреНрд░реЛрдЬреЗрдХреНрд╢рди' рдлрд╝рдВрдХреНрд╢рдВрд╕ рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдПрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп - рдЬреИрд╕реЗ рдСрд░рдУрд╡рд░ - рдЦрд╝рд░рд╛рдм рдорд╛рди
рдЫреЛрдбрд╝ рджрд┐рдП рдЧрдП рд╣реИрдВ (рд╡рд░реНрддрдорд╛рди (рдЦрд░рд╛рдм) рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рдЗрди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рджреЗрдЦреЗрдВ
рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЬрдм рд╕рднреА рддрддреНрд╡ рдЦрд░рд╛рдм рд╣реЛрдВ)ред

A рдмреБрд░рд╛ рдореВрд▓реНрдп рдПрд╕рдЯреА рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдкрд╣реЗрд▓реА, рдФрд░ рд╕рдореНрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ
An рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рд╡рд┐рдХрд▓реНрдк "BADVAL_PER_PDL" рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИ perldl.conf рдкреНрд░рддрд┐-рдкрд┐рдбрд▓ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП
рдмреБрд░реЗ рдореВрд▓реНрдп. рдЗрд╕ рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХреЛ рдЕрджреНрдпрддрди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЗрд╡рд▓ рдкреВрд░реНрдгрд╛рдВрдХ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдФрд░ рдлрд╝реНрд▓реЛрдЯрд┐рдВрдЧ-рдкреЙрдЗрдВрдЯ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИ
рдкреАрдбреАрдПрд▓ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд╕рдордп "BADVAL_USENAN" рд╕реЗрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рдкреНрд░рддреНрдпреЗрдХ рдбреЗрдЯрд╛рдЯрд╛рдЗрдк рдХреЗ рд▓рд┐рдП рдПрдХ рдЦрд╝рд░рд╛рдм рдорд╛рди рд╣реИред рдХреЛрдб рдЗрд╕рд▓рд┐рдП рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ рддрд╛рдХрд┐ рд╣рдо рдРрд╕рд╛ рдХрд░ рд╕рдХреЗрдВ
рдкреНрд░рддреНрдпреЗрдХ рдкрд┐рдбрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдЦрд░рд╛рдм рдорд╛рди рд╣реИ (рдкреАрдбреАрдПрд▓ рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд) - рдпрд╣ рддрдм рд╣реЛрдЧрд╛
рд╡рд░реНрддрдорд╛рди рд╕рдорд╕реНрдпрд╛ рдХреЛ рджреВрд░ рдХрд░реЗрдВ:

рдкреАрдбреАрдПрд▓> $рдП = рдмрд╛рдЗрдЯ(1, 2, рдмрд╛рдЗрдЯ->рдмреИрдбрд╡реИрд▓реНрдпреВ, 4, 5);
рдкреАрдбреАрдПрд▓> рдкреА $рдП;
[1 2 255 4 5 XNUMX]
рдкреАрдбреАрдПрд▓> $a->рдЦрд╝рд░рд╛рдмрдлрд╝реНрд▓реИрдЧ(1)
рдкреАрдбреАрдПрд▓> рдкреА $рдП;
[1 2 рдмреБрд░рд╛ 4 5]
рдкреАрдбреАрдПрд▓> рдмрд╛рдЗрдЯ->рдЦрд╝рд░рд╛рдм рдореВрд▓реНрдп; (0)
рдкреАрдбреАрдПрд▓> рдкреА $рдП;
[1 2 255 4 5 XNUMX]

рдпрд╛рдиреА $a рдореЗрдВ рдЦрд╝рд░рд╛рдм рдорд╛рди рдЕрдкрдирд╛ рдЦреЛ рдЪреБрдХрд╛ рд╣реИ рдмреБрд░рд╛ рд╡рд░реНрддрдорд╛рди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕реНрдерд┐рддрд┐. рдпрд╣ рд╣реЛрдЧрд╛
рд╣рд╛рд▓рд╛рдБрдХрд┐ рд▓рдЧрднрдЧ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЕрдиреНрдпрддреНрд░ рд╕рдорд╕реНрдпрд╛рдПрдБ рдкреИрджрд╛ рд╣реЛрддреА рд╣реИрдВ!

рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд┐рд╡рд░рдг


"perl Makefile.PL" рдХреЗ рджреМрд░рд╛рди, рдлрд╝рд╛рдЗрд▓ рдмреЗрд╕рд┐рдХ/рдХреЛрд░/рдмреИрдбрд╕рдкреЛрд░реНрдЯ.рдкреА рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ; рдпрд╣ рдлрд╝рд╛рдЗрд▓
рдЗрд╕рдореЗрдВ "WITH_BADVAL", "BADVAL_USENAN" рдФрд░ "BADVAL_PER_PDL" рд╡реЗрд░рд┐рдПрдмрд▓ рдХреЗ рдорд╛рди рд╢рд╛рдорд┐рд▓ рд╣реИрдВ,
рдФрд░ рдЙрд╕ рдХреЛрдб рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрддрд╛ рд╣реИ рдкреАрдбреАрдПрд▓::рдХреЙрдиреНрдлрд┐рдЧ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдИ рдЧрдИ рд╣реИ (рдЙрджрд╛
рдмреЗрд╕рд┐рдХ/рдХреЛрд░/pdlcore.c.PL. рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЕрдзрд┐рдХрд╛рдВрд╢ рдкреАрдбреАрдПрд▓ рдХреЛрдб рдХреЛ рдХреЗрд╡рд▓ %PDL::Config рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА
рд╕рд░рдгреА (рдЙрджрд╛ рдмреЗрд╕рд┐рдХ/рдЦрд╝рд░рд╛рдм/рдЦрд╝рд░рд╛рдм.рдкреА.рдбреА) рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ рдЦрд░рд╛рдм-рдореВрд▓реНрдп рд╕рдорд░реНрдерди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдкрд┐рдбрд▓ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдПрдХ рдирдпрд╛ рдзреНрд╡рдЬ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИ - "PDL_BADVAL"ред рдпрджрд┐ рдкрд░реЗрд╢рд╛рди рд╣реИ, рддреЛ
piddle рдореЗрдВ рдЦрд╝рд░рд╛рдм рдорд╛рди рдирд╣реАрдВ рд╣реИрдВ, рдФрд░ рдЗрд╕рд▓рд┐рдП рд╕рднреА рд╕рдорд░реНрдерди рдХреЛрдб рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рд╕реЗрдЯ рд╣реЛ рддреЛ рдпрд╣
рдпрд╣ рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рджреЗрддрд╛ рдХрд┐ рдЦрд╝рд░рд╛рдм рдорд╛рди рдореМрдЬреВрдж рд╣реИрдВ, рдмрд╕ рдЙрдирдХреА рдЬрд╛рдБрдЪ рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдПред
рдХреНрд░рд┐рд╕реНрдЪрд┐рдпрди рдХреЛ рдзрдиреНрдпрд╡рд╛рдж, "рдмреИрдбрдлреНрд▓реИрдЧ()" - рдЬреЛ рдЗрд╕ рдзреНрд╡рдЬ рдХреЛ рд╕реЗрдЯ/рд╕рд╛рдл рдХрд░рддрд╛ рд╣реИ (рджреЗрдЦреЗрдВ)ред рдмреЗрд╕рд┐рдХ/рдЦрд╝рд░рд╛рдм/рдЦрд╝рд░рд╛рдм.рдкреА.рдбреА) -
рдЬрд╛рдПрдЧрд╛ рдЕрджреНрдпрддрди рд╕рдм рдпрджрд┐ рдХрд┐рд╕реА рдкрд┐рдбрд▓ рдХреА рд╕реНрдерд┐рддрд┐ рдмрджрд▓рддреА рд╣реИ рддреЛ рдЙрд╕рдХреЗ рдмрдЪреНрдЪреЗ/рдкреЛрддреЗ/рдкреЛрддреЗ/рдЖрджрд┐ (рджреЗрдЦреЗрдВ)
"рдмреИрдбрдлреНрд▓реИрдЧ" рдореЗрдВ рдмреЗрд╕рд┐рдХ/рдЦрд╝рд░рд╛рдм/рдЦрд╝рд░рд╛рдм.рдкреА.рдбреА рдФрд░ "рдкреНрд░реЛрдкреЗрдЧреЗрдЯ_рдмреИрдбрдлреНрд▓реИрдЧ" рдореЗрдВ рдмреЗрд╕рд┐рдХ/рдХреЛрд░/рдХреЛрд░.xs.PL). рдпрд╣
рд╕реНрдкрд╖реНрдЯ рдХрд░реЗрдВ рдХрд┐ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ: рдореИрдВ 'рд╕реЗрдЯ рдмреИрдбрдлреНрд▓реИрдЧ' рдХреЗ рдкреНрд░рдЪрд╛рд░ рдХрд╛ рдХрд╛рд░рдг рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдБ
рдорд╛рддрд╛-рдкрд┐рддрд╛ рд╕реЗ рдЕрдиреБрд░реЛрдз рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдмрдЪреНрдЪреЗ рдХреЛ рдЦрд░рд╛рдм рдЭрдВрдбреЗ рдХреЛ рд╕рд╛рдлрд╝ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП
рдЕрднрд┐рднрд╛рд╡рдХ. рдпрд╣ рднреА рдореБрджреНрджрд╛ рд╣реИ рдХрд┐ рдЬрдм рдЖрдк рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рдЦрд░рд╛рдм рдорд╛рди рдмрджрд▓рддреЗ рд╣реИрдВ рддреЛ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ
рдкрд╣реЗрд▓реА.

"pdl_trans" рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдПрдХ рдкреВрд░реНрдгрд╛рдВрдХ рдорд╛рди, "bvalflag" рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ
рдпрд╣ рдХреЛрдб рдХреЛ рдпрд╣ рдмрддрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрд╡рд┐рдЪ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЦрд░рд╛рдм рдорд╛рдиреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдирд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред рдпрд╣ рдорд╛рди рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╣реИ
рдпрджрд┐ рдХрд┐рд╕реА рднреА рдЗрдирдкреБрдЯ рдкрдбрд▓ рдХрд╛ рдЕрдкрдирд╛ "PDL_BADVAL" рдлрд╝реНрд▓реИрдЧ рд╕реЗрдЯ рд╣реИ (рд╣рд╛рд▓рд╛рдБрдХрд┐ рдпрд╣ рдХреЛрдб рд╣реЛ рд╕рдХрддрд╛ рд╣реИ
pp_def рдореЗрдВ "FindBadStateCode" рд╕реЗрдЯ рдХрд░рдХреЗ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛)ред рдЪреЗрдХ рдХрд╛ рддрд░реНрдХ рдорд┐рд▓рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ
рдпрджрд┐ рдореИрдВ рд░реВрдЯреАрди рдХреЛ "рдХреЛрдб" рдЕрдиреБрднрд╛рдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗ рджреВрдВ рддреЛ рдпрд╣ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реЛ рдЬрд╛рдПрдЧрд╛
рдлрд╝реНрд▓реЛрдЯрд┐рдВрдЧ-рдкреЙрдЗрдВрдЯ рдкреНрд░рдХрд╛рд░ (рдпрд╛рдиреА "NoBadifNaN => 1" рд╡рд╛рд▓реЗ рд╡реЗ рд░реВрдЯреАрди рдЬрдм "BADVAL_USENAN" рд╣реЛрддреЗ рд╣реИрдВ
рд╕рддреНрдп)ред

рдкреВрд░реНрдгрд╛рдВрдХ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рдЦрд░рд╛рдм рдорд╛рди рдЕрдм рдХреЛрд░ рдкреАрдбреАрдПрд▓ рдХреЗ рднреАрддрд░ рдПрдХ рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИрдВ
рд╕рдВрд░рдЪрдирд╛ - "PDL.bvals" (рдЙрджрд╛ рдмреЗрд╕рд┐рдХ/рдХреЛрд░/pdlcore.h.PL); рдЗрд╕рдореЗрдВ "рдЯрд╛рдЗрдкрдбреАрдлрд╝ рдмреИрдбрд╡рд▓реНрд╕" рднреА рджреЗрдЦреЗрдВ
рдмреЗрд╕рд┐рдХ/рдХреЛрд░/рдкреАрдбреАрдПрд▓.рдПрдЪ.рдкреАрдПрд▓ рдФрд░ рдХрд╛ BOOT рдХреЛрдб рдмреЗрд╕рд┐рдХ/рдХреЛрд░/рдХреЛрд░.xs.PL рдореВрд▓реНрдп рдХрд╣рд╛рдВ рд╣реИрдВ
(рдЙрдореНрдореАрдж рд╣реИ) рд╕рдордЭрджрд╛рд░ рдореВрд▓реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЖрд░рдВрднрд┐рдХред рджреЗрдЦрдирд╛ рдкреАрдбреАрдПрд▓/рдЦрд░рд╛рдм/рдЦрд░рд╛рдм.рдкреАрдбреА рдкрдврд╝рдиреЗ/рд▓рд┐рдЦрдиреЗ рдХреА рджрд┐рдирдЪрд░реНрдпрд╛ рдХреЗ рд▓рд┐рдП
рдореВрд▓реНрдпред

"BADVAL_PER_PDL" рд╡рд┐рдХрд▓реНрдк рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдЗрд╕рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рдкрд░рд┐рд╡рд░реНрддрди рд╣реБрдП рд╣реИрдВ
рдкрд┐рдбрд▓реНрд╕ рдХреЗ рдЖрдВрддрд░рд┐рдХ рднрд╛рдЧред рдпреЗ рдкрд░рд┐рд╡рд░реНрддрди рдЕрднреА рддрдХ рдкреНрд░рд▓реЗрдЦрд┐рдд рдирд╣реАрдВ рд╣реИрдВ.

рдХреНрдпреЛрдВ рдирд╣реАрдВ рдмрдирд╛рдирд╛ a рдкреАрдбреАрдПрд▓ рдЙрдкрд╡рд░реНрдЧ?
рдЦрд╝рд░рд╛рдм рдореВрд▓реНрдпреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдкреАрдбреАрдПрд▓ рдЙрдк-рд╡рд░реНрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рдерд╛ред рдЗрд╕рдХрд╛ рдлрд╛рдпрджрд╛
рджреГрд╖реНрдЯрд┐рдХреЛрдг рдпрд╣ рд╣реЛрдЧрд╛ рдХрд┐ рдпрджрд┐ рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЪрд╛рд╣реЗрдВ рддреЛ рдХреЗрд╡рд▓ рдЦрд░рд╛рдм рдорд╛рдиреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рд▓реЛрдб рдХрд░реЗрдВ
рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП. рдирдХрд╛рд░рд╛рддреНрдордХ рдкрдХреНрд╖ рдпрд╣ рд╣реИ рдХрд┐ рдХреЛрдб рдлрд┐рд░ рдЕрд▓рдЧ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ: рдХреЛрдИ рднреА рдмрдЧ
рдХреЛрдб рдореЗрдВ рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╕реБрдзрд╛рд░/рд╕реБрдзрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИред рд╡рд░реНрддрдорд╛рди рдХреЗ рд╕рд╛рде
рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛрдб рдЙрд╕реА "pp_def" рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рд╣реИ (рд╣рд╛рд▓рд╛рдБрдХрд┐ рдЕрднреА рднреА рд╕рдорд╕реНрдпрд╛ рд╣реИ
рдХрд┐ "рдХреЛрдб" рдФрд░ "рдмреИрдбрдХреЛрдб" рджреЛрдиреЛрдВ рдЕрдиреБрднрд╛рдЧреЛрдВ рдХреЛ рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ)ред

рдЪреВрдХ рдмреБрд░рд╛ рдорд╛рдиреЛрдВ
рдбрд┐рдлрд╝реЙрд▓реНрдЯ/рдореВрд▓ рдЦрд╝рд░рд╛рдм рдорд╛рди рдЗрд╕ рдкрд░ рд╕реЗрдЯ рд╣реИрдВ (рд╕реНрдЯрд╛рд░рд▓рд┐рдВрдХ рд╡рд┐рддрд░рдг рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛):

#рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛

рдкреАрдбреАрдПрд▓_рдмрд╛рдЗрдЯ == UCHAR_MAX
рдкреАрдбреАрдПрд▓_рд╢реЙрд░реНрдЯ == SHRT_MIN
PDL_Ushort == USHRT_MAX
PDL_рд▓рдВрдмрд╛ == INT_MIN

рдпрджрд┐ "BADVAL_USENAN == 0", рддреЛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рднреА рд╣реИ

рдкреАрдбреАрдПрд▓_рдлреНрд▓реЛрдЯ == -FLT_MAX
рдкреАрдбреАрдПрд▓_рдбрдмрд▓ == -рдбреАрдмреАрдПрд▓_рдореИрдХреНрд╕

рдЕрдиреНрдпрдерд╛ рд╕рднреА "NaN", "+Inf", рдФрд░ "-Inf" рдХреЛ рдлрд╝реНрд▓реЛрдЯрд┐рдВрдЧ-рдкреЙрдЗрдВрдЯ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдЦрд╝рд░рд╛рдм рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдкреВрд░реНрдгрд╛рдВрдХ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд╡рд┐рдкрд░реАрдд, рдЦрд░рд╛рдм рдорд╛рди рдХреЛ рдмрджрд▓рд╛ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдХреИрд╕реЗ do I рдкрд░рд┐рд╡рд░реНрддрди a рд╕рд╛рдорд╛рдиреНрдп рд╕реЗрд╡рд╛ рдореЗрд░реЗ рд╕рдВрднрд╛рд▓рдирд╛ рдмреБрд░рд╛ рдореВрд▓реНрдп?
рдЙрджрд╛рд╣рд░рдг рдЕрдзрд┐рдХрд╛рдВрд╢ рдореЗрдВ рдкрд╛рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ *.рдкреА.рдбреА рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдмреБрдирд┐рдпрд╛рджреА/ (рдФрд░ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдХрдИ рдФрд░ рдЬрдЧрд╣реЗрдВ
рдЬрд▓реНрджреА!)ред рдХреБрдЫ рддрд░реНрдХ рдереЛрдбрд╝реЗ рдЕрд╕реНрдкрд╖реНрдЯ рд▓рдЧ рд╕рдХрддреЗ рд╣реИрдВ - рд╢рд╛рдпрдж рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╣реИ!
рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХреА рдЧрдИ.

рд╕рднреА рд░реВрдЯреАрдиреЛрдВ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЦрд░рд╛рдм рд╕реНрдерд┐рддрд┐ рдзреНрд╡рдЬ рдХреЛ рдЖрдЙрдЯрдкреБрдЯ рдкрд┐рдбрд▓реНрд╕ рдореЗрдВ рдкреНрд░рдЪрд╛рд░рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрдм рддрдХ рдХрд┐
рдЖрдк рдЕрдиреНрдпрдерд╛ рдШреЛрд╖рд┐рдд рдХрд░реЗрдВ.

рдпрджрд┐ рдХреЛрдИ рд░реВрдЯреАрди рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЦрд░рд╛рдм рдореВрд▓реНрдпреЛрдВ рд╕реЗ рдирд┐рдкрдЯрддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ pp_def рдХреЛ рдпрд╣ рд╡рд┐рдХрд▓реНрдк рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рд╣реЛрдЧрд╛:

рд╣реИрдВрдбрд▓рдмреИрдб => 1

рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ $ISBAD рдЖрджрд┐ рдореИрдХреНрд░реЛрдЬрд╝ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рд╡реЗрд░рд┐рдПрдмрд▓ рдкреНрд░рд╛рд░рдВрдн рдХрд┐рдП рдЧрдП рд╣реИрдВред рдпрд╣ рд╣реИ
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рджрд╕реНрддрд╛рд╡реЗрдЬрд╝-рдирд┐рд░реНрдорд╛рдг рд░реВрдЯреАрди рджреНрд╡рд╛рд░рд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рдЯрд╛рдЗрдк рдХрд┐рдП рдмрд┐рдирд╛ рдХрд┐рд╕реА рд░реВрдЯреАрди рдХрд╛ рдЦрд░рд╛рдм рдореВрд▓реНрдп рд╕рдорд░реНрдерди (рдпрд╣ рд╣реИ)ред
рдЕрдкрдиреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЪрд░рдг рдореЗрдВ)ред

рдХрд┐рд╕реА рд░реВрдЯреАрди рдХреЛ рдЦрд╝рд░рд╛рдм рдорд╛рдиреЛрдВ рдХреЛ рди рд╕рдВрднрд╛рд▓ рдкрд╛рдиреЗ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ

рд╣реИрдВрдбрд▓рдмреИрдб => 0

рдЗрд╕ рдЪрд╛рд╣рд┐рдП рдпрджрд┐ рд░реВрдЯреАрди рдХреЛ рдХреЛрдИ рдЦрд░рд╛рдм рд╕рдВрджреЗрд╢ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдЙрд╕реЗ рдЪреЗрддрд╛рд╡рдиреА рдЫрд╛рдкрдиреЗ рдХреЛ рдХрд╣реЗрдВ
рдзреНрд╡рдЬ рд╕реЗрдЯ. рдЖрджрд┐рдо рдХреЗ "рдЗрдирдУрд╡рд░" рдореЗрдВ рдпрд╣ рд╕реЗрдЯ рд╣реИ - рдЪреВрдБрдХрд┐ рдЗрд╕реЗ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдирд╛ рдЕрдЬреАрдм рд╣реЛрдЧрд╛ -
рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдпрд╣ рджреЗрдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХреА рд╣реИ рдХрд┐ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред

рдпрджрд┐ рдЖрдк рдЦрд░рд╛рдм рдорд╛рдиреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рд╕рднреА рдЖрдЙрдЯрдкреБрдЯ рдкрдбрд▓реЛрдВ рдХреА рд╕реНрдерд┐рддрд┐ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдпрд╛ рдпрджрд┐
рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рдЗрдирдкреБрдЯ рдкрд╣реЗрд▓реА рд╣реИ рдЬреЛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рдлрд┐рд░ рдкреАрдкреА рдирд┐рдпрдореЛрдВ рдХреЛ рджреЗрдЦреЗрдВ
"NewXSFindBadStatus" рдФрд░ "NewXSCopyBadStatus" рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд "pp_def" рд╡рд┐рдХрд▓реНрдк:

рдЦрд░рд╛рдм рд╕реНрдерд┐рддрд┐ рдХреЛрдб рдЦреЛрдЬреЗрдВ
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, "FindBadStatusCode" рдХреЛрдб рдмрдирд╛рддрд╛ рд╣реИ рдЬреЛ рдЗрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ "$PRIV(bvalflag)" рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ
рдЗрдирдкреБрдЯ рдкрдбрд▓реНрд╕ рдХреЗ рдЦрд╝рд░рд╛рдм рдлрд╝реНрд▓реИрдЧ рдХреА рд╕реНрдерд┐рддрд┐: "find Badstatus" рджреЗрдЦреЗрдВ
рдмреЗрд╕рд┐рдХ/рдЬрдирд░рд▓/рдкреАрдкреА.рдкреА.рдПрдо. рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреЛрдб рдХреЛ "bvalflag" рдХрд╛ рдорд╛рди рднреА рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП
"$BADFLAGCACHE()" рд╡реИрд░рд┐рдПрдмрд▓ред

CopyBadStatusCode
рдпрд╣рд╛рдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреЛрдб "FindBadStatusCode" рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдереЛрдбрд╝рд╛ рд╕рд░рд▓ рд╣реИ: рдХрд╛ рдЦрд░рд╛рдм рдзреНрд╡рдЬ
рдпрджрд┐ рдХреЛрдб рдХреЗ рдмрд╛рдж "$BADFLAGCACHE()" рд╕рддреНрдп рд╣реИ рддреЛ рдЖрдЙрдЯрдкреБрдЯ рдкрд┐рдбрд▓ рд╕реЗрдЯ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ
рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдХрднреА-рдХрднреА "CopyBadStatusCode" рдХреЛ рдПрдХ рдЦрд╛рд▓реА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
рдЖрдЙрдЯрдкреБрдЯ рдкрд┐рдбрд▓ рдХреЗ рдмреИрдбрдлреНрд▓реИрдЧ рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЬрд┐рдореНрдореЗрджрд╛рд░реА "рдмреИрдбрдХреЛрдб" рдкрд░ рдЫреЛрдбрд╝ рджреА рдЧрдИ рд╣реИ
рдЕрдиреБрднрд╛рдЧ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП "xxxover" рд░реВрдЯреАрди рдореВрд▓/рдЖрджрд┐рдо/рдЖрджрд┐рдо.рдкреА.рдбреА).

рдкреАрдбреАрдПрд▓ 2.4.3 рд╕реЗ рдкрд╣рд▓реЗ рд╣рдо "$BADFLAGCACHE()" рдХреЗ рдмрдЬрд╛рдп "$PRIV(bvalflag)" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рдереЗред рдпрд╣ рд╣реИ
рдЦрддрд░рдирд╛рдХ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░ "$PRIV()" рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд╡реИрдз рд╣реЛрдиреЗ рдХреА рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рд╣реИ
рдХреЛрдбред

рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЛрдИ рдРрд╕реА рджрд┐рдирдЪрд░реНрдпрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдпрдерд╛рд╕реНрдерд╛рди рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЙрд╕рдореЗрдВ рдореМрдЬреВрдж рджрд┐рдирдЪрд░реНрдпрд╛рдУрдВ рдХреЛ рджреЗрдЦреЗрдВ
рдЦрд╝рд░рд╛рдм.рдкреА.рдбреА (рдпрд╛ рдСрдкреНрд╕.рдкреАрдбреА) рдЬреЛ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП "рдЗрди-рдкреНрд▓реЗрд╕" рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЦрд░рд╛рдм рдзреНрд╡рдЬ рдХрд╛ рдкреНрд░рдЪрд╛рд░ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
"xxxBadStatusCode" рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдмрдЪреНрдЪреЛрдВ рдХреЗ рд▓рд┐рдПред рдореИрдВрдиреЗ рдЗрд╕реЗ рдирд┐рдпрдореЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рди рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛
рдпрд╣ рдереЛрдбрд╝рд╛ рдЬрдЯрд┐рд▓ рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдЗрди-рдкреНрд▓реЗрд╕ рдСрдк рдХреЛ рдмреИрдбрдлреНрд▓реИрдЧ рдХрд╛ рдкреНрд░рдЪрд╛рд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдЧреА
(рдЬреИрд╕реЗ рдпреВрдирд░реА рдлрд╝рдВрдХреНрд╢рдВрд╕)ред

рдпрджрд┐ рд╡рд┐рдХрд▓реНрдк

рд╣реИрдВрдбрд▓рдмреИрдб => 1

рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдмрд╣реБрдд рдХреБрдЫ рдШрдЯрд┐рдд рд╣реЛрддрд╛ рд╣реИред рдкреВрд░реНрдгрд╛рдВрдХ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП, рд░реАрдбрдбреЗрдЯрд╛ рдХреЛрдб рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ
" рдирд╛рдордХ рдПрдХ рд╡реИрд░рд┐рдПрдмрд▓ рдмрдирд╛рддрд╛ рд╣реИ _рдмрдбрд╡рд▓", рдЬрд┐рд╕рдореЗрдВ рдЙрд╕рдХреЗ рд▓рд┐рдП рдЦрд╝рд░рд╛рдм рдорд╛рди рд╢рд╛рдорд┐рд▓ рд╣реИ
рдкрд┐рдбрд▓ (рджреЗрдЦреЗрдВ "get_xsdatapdecl()" рдореЗрдВ рдмреЗрд╕рд┐рдХ/рдЬрдирд░рд▓/рдкреАрдкреА/PdlParObjs.pm). рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╣рд╛рд░реНрдб рдХреЛрдб рди рдХрд░реЗрдВ
рдпрд╣ рдирд╛рдо рдЖрдкрдХреЗ рдХреЛрдб рдореЗрдВ! рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдореИрдХреНрд░реЛрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ (рд╕реБрдЭрд╛рд╡ рдХреЗ рд▓рд┐рдП рдЯреБрдУрдорд╛рд╕ рдХреЛ рдзрдиреНрдпрд╡рд╛рдж):

'$ISBAD(a(n=>1))' рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ '$a(n=>1) == a_ Badval' рддрдХ рд╣реЛрддрд╛ рд╣реИ
'$ISGOOD(a())' '$a() != a_ Badval'
'$SETBAD(рдмреЙрдм())' '$рдмреЙрдм() = рдмреЙрдм_рдмреИрдбрд╡рд▓'

рдЦреИрд░, "$a(...)" рдХрд╛ рднреА рд╡рд┐рд╕реНрддрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрджрд┐ рдЖрдк рдкреАрдбреАрдПрд▓ рдирд╛рдо рд╕реЗ рдкрд╣рд▓реЗ "$" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдЖрдк рдРрд╕рд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рд▓рд╛рдЗрди рд╢реЛрд░ рдЬреИрд╕рд╛ рджрд┐рдЦрдиреЗ рд▓рдЧрддрд╛ рд╣реИ - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП "$ISGOOD($a())"ред

рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рд╡реЗрд░рд┐рдПрдмрд▓ рдореЗрдВ рдПрдХ рдкрд┐рдбрд▓ рдорд╛рди рдХреЛ рдХреИрд╢ рдХрд░рддреЗ рд╣реИрдВ - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП "рдЗрдВрдбреЗрдХреНрд╕"ред рд╕реНрд▓рд╛рдЗрд╕.рдкреАрдбреА -- рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд
рджрд┐рдирдЪрд░реНрдпрд╛ рдЙрдкрдпреЛрдЧреА рд╣реИ:

'$ISBADVAR(c_var,pdl)' 'c_var == pdl_ Badval'
'$ISGOODVAR(c_var,pdl)' 'c_var != pdl_ Badval'
'$SETBADVAR(c_var,pdl)' 'c_var = pdl_ Badval'

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЙрдиреНрд╣реЗрдВ рдЕрдкрдиреЗ рд╕реБрдзрд╛рд░ рдХреЗ рд▓рд┐рдП рдЗрдирдХреЗ рд╕рд╛рде рдЦреЗрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ.

'$PPISBAD(CHILD,[i]) 'CHILD_physdatap[i] == CHILD_ Badval'
'$PPISGOOD(CHILD,[i]) 'CHILD_physdatap[i] != CHILD_ Badval'
'$PPSETBAD(CHILD,[i]) 'CHILD_physdatap[i] = CHILD_ Badval'

рдпрджрд┐ "BADVAL_USENAN" рд╕реЗрдЯ рд╣реИ, рддреЛ рдпрд╣ "рдлреНрд▓реЛрдЯ" рдФрд░ "рдбрдмрд▓" рдХреЗ рд▓рд┐рдП рдереЛрдбрд╝рд╛ рдЕрд▓рдЧ рд╣реИ, рдЬрд╣рд╛рдВ рд╣рдо
"NaN", "+Inf", рдФрд░ "-Inf" рд╕рднреА рдХреЛ рдЦрд░рд╛рдм рдорд╛рдиреЗрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ:

ISBAD рдкрд░рд┐рдорд┐рдд (рдкрд┐рдбрд▓) == 0 рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ
рдЕрдЪреНрдЫрд╛ рдкрд░рд┐рдорд┐рдд(рдкрд┐рдбрд┐рд▓) != 0
рд╕реЗрдЯрдмреИрдб рдкрд╣реЗрд▓реА = NaN

рдЬрд╣рд╛рдВ NaN рдорд╛рдиреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдореЗрдВ NaN рдХреЗ рдорд╛рди рдкрд░ рдиреАрдЪреЗ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рд╣реИред

рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ

рдХреЛрдб => '$a() = $b() + $c();'

рд╕реЗрд╡рд╛ рдореЗрд░реЗ

BadCode => 'рдпрджрд┐ ($ISBAD(b()) || $ISBAD(c()) ) {
$рд╕реЗрдЯрдмреИрдб(рдП());
рдФрд░} {
$a() = $b() + $c();
}'

рдХреЛрдб рдХреЛ рд╡реИрд╕реЗ рд╣реА рдЫреЛрдбрд╝реЗрдВ рдЬреИрд╕реЗ рд╡рд╣ рд╣реИред PP::PDLCode рдлрд┐рд░ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рдПрдХ рд▓реВрдк рдмрдирд╛рдПрдЧрд╛

рдпрджрд┐ ( __trans->bvalflag ) {
рдмреИрдбрдХреЛрдб рдкрд░ рдереНрд░реЗрдбрд▓реВрдк
рдФрд░} {
рдХреЛрдб рдкрд░ рдереНрд░реЗрдбрд▓реВрдк
}

(рд╕рд┐рд░реНрдл рдЗрд╕реЗ рджреЗрдЦрдирд╛ рд╢рд╛рдпрдж рдЖрд╕рд╛рди рд╣реИ .xs рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝рд╛рдЗрд▓ рдХрд░реЗрдВ рдХрд┐ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ)ред

рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ? рдкрд░реЗ la рдХреЛрдб рдЕрдиреБрднрд╛рдЧ
"BadCode" рдХреЗ рд╕рдорд╛рди, "BadBackCode" рдФрд░ "BadRedoDimsCode" рднреА рд╣реИрдВред

"EquivCPOffsCode" рдХреЛ рд╕рдВрднрд╛рд▓рдирд╛ рдереЛрдбрд╝рд╛ рдЕрд▓рдЧ рд╣реИ: рдЗрд╕ рдзрд╛рд░рдгрд╛ рдХреЗ рддрд╣рдд рдХрд┐ рдПрдХрдорд╛рддреНрд░ рдкрд╣реБрдВрдЪ
рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП "$EQUIVCPOFFS(i,j)" рдореИрдХреНрд░реЛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣реИ, рддреЛ рд╣рдо рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ 'рдЦрд░рд╛рдм' рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ
рдЗрд╕рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг; PDL::PP рдореЗрдВ "[EquivCPOffsCode]" рдФрд░ "[Code]" рдирд┐рдпрдо рджреЗрдЦреЗрдВред

рдореИрдХреНрд░реЛ рдкрд╣реБрдБрдЪ рд╕реЗрд╡рд╛ рдореЗрд░реЗ la рдмреБрд░рд╛ рдЭрдВрдбрд╛ of a рдмреЗрджрд┐рд▓реА рд╕реЗ рдХрд╛рд░реНрдп рдХрд░рдирд╛
рдкреАрдбреАрдПрд▓ рдХреА рдЦрд░рд╛рдм-рдзреНрд╡рдЬ рд╕реНрдерд┐рддрд┐ рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдХреНрд░реЛрдЬрд╝ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рд╣реИрдВ:

'$PDLSTATEISBAD(a)' -> '($PDL(a)->state & PDL_BADVAL) > 0'
'$PDLstateisgood(a)' '($PDL(a)->state & PDL_BADVAL) == 0'

'$PDLSTATESETBAD(a)' '$PDL(a)->state |= PDL_BADVAL'
'$PDLstatesetgood(a)' '$PDL(a)->state &= ~PDL_BADVAL'

"xxxxBadStatusCode" рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП (+ рдЕрдиреНрдп рд╕рд╛рдордЧреНрд░реА рдЬреЛ INIT: рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдЬрд╛рддреА рд╣реИ) рдпреЗ рд╣реИрдВ:

'$SETPDLSTATEBAD(a)' -> 'a->state |= PDL_BADVAL'
'$SETPDLSTATEGOOD(a)' -> 'a->state &= ~PDL_BADVAL'

'$ISPDLSTATEBAD(a)' -> '((a->state & PDL_BADVAL) > 0)'
'$ISPDLSTATEGOOD(a)' -> '((a->state & PDL_BADVAL) == 0)'

рдкреАрдбреАрдПрд▓ 2.4.3 рдореЗрдВ "$BADFLAGCACHE()" рдореИрдХреНрд░реЛ рдХреЛ "FindBadStatusCode" рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдкреЗрд╢ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░
"рдХреЙрдкреАрдмреИрдбрд╕реНрдЯреИрдЯрд╕рдХреЛрдб"ред

рд╣реИрдВрдбрд▓рд┐рдВрдЧ NaN рдорд╛рдиреЛрдВ
рджреЛ рдореБрджреНрджреЗ рд╣реИрдВ:

NaN рдЦрд░рд╛рдм рдорд╛рди рдХреЗ рд░реВрдк рдореЗрдВ
рдЬреЛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ. рдЪрдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, perldl.conf рдореЗрдВ "BADVAL_USENAN" рдХреЛ 1 рдкрд░ рд╕реЗрдЯ рдХрд░реЗрдВ; 0 рдХрд╛ рдорд╛рди рдЧрд┐рд░рддрд╛ рд╣реИ
рдлрд╝реНрд▓реЛрдЯрд┐рдВрдЧ-рдкреЙрдЗрдВрдЯ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рдкреВрд░реНрдгрд╛рдВрдХреЛрдВ рдХреЗ рд╕рдорд╛рди рдорд╛рдирдиреЗ рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдПрдБред рдореБрдЭреЗ рдХреБрдЫ рдХрд░рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ
рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдХрд┐ рдХреМрди рд╕рд╛ рддреЗрдЬрд╝ рд╣реИ, рдФрд░ рдХреНрдпрд╛ рдпрд╣ рдорд╢реАрдиреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рд╣реИ (рд▓рд┐рдирдХреНрд╕ рд▓рдЧрддрд╛ рд╣реИ)ред
рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдП рдЧрдП рдХреБрдЫ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рдпрд╣ рдореЗрд░реА рд╕реНрдкрд╛рд░реНрдХ рдорд╢реАрди рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрд╣реАрдВ рдЕрдзрд┐рдХ рдзреАрдореА рд╣реЛ рдЧрдИ)ред

BadCode рдЕрдиреБрднрд╛рдЧреЛрдВ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рдирд╛
рдЬреЛ рд╣реИ рдирд╣реАрдВ.

рдХреЗ рд▓рд┐рдП рд╕рд░рд▓ рдлрд╝реНрд▓реЛрдЯрд┐рдВрдЧ-рдкреЙрдЗрдВрдЯ рдирдВрдмрд░реЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдХрдВрдкреНрдпреВрдЯрд░ рдХреЛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рдиреЗ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП
"рдмреИрдбрдХреЛрдб" рдореЗрдВ рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЦрд░рд╛рдм рдорд╛рди (рдпрд╛рдиреА "NaN" рдФрд░ "Inf" рдорд╛рди)
рдЕрдиреБрднрд╛рдЧред рдРрд╕реА рдХрдИ рджрд┐рдирдЪрд░реНрдпрд╛рдУрдВ рдХреЛ "NoBadifNaN => 1" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓реЗрдмрд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ; рд╣рд╛рд▓рд╛рдБрдХрд┐ рдпрд╣ рд╣реИ
рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЙрдкреЗрдХреНрд╖рд┐рдд рдкреАрдбреАрдПрд▓ рджреНрд╡рд╛рд░рд╛::рдкреАрдкреАред

рдЗрди рджрд┐рдирдЪрд░реНрдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдП, рд╣рдо "рдХреЛрдб" рдЕрдиреБрднрд╛рдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ

рдкрд┐рдбрд▓ рдХрд╛ рдзреНрд╡рдЬ рдЦрд░рд╛рдм рдирд╣реАрдВ рд╣реИ
рдбреЗрдЯрд╛рдЯрд╛рдЗрдк рдПрдХ рдлреНрд▓реЛрдЯ рдпрд╛ рдбрдмрд▓ рд╣реИ

рдЕрдиреНрдпрдерд╛ рд╣рдо "рдмреИрдбрдХреЛрдб" рдЕрдиреБрднрд╛рдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рд╣реИ рдирд╣реАрдВ рд▓рд╛рдЧреВ, рдЬреИрд╕рд╛ рдХрд┐ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА
PP::PDLCode рдХреА рдЙрдЪрд┐рдд рд╣реИрдХрд┐рдВрдЧ!

рдпрд╣ рднреА рд╕рдорд╕реНрдпрд╛ рд╣реИ рдХрд┐ рд╣рдо 'рдЕрдкрд╡рд╛рджреЛрдВ' рдХреЛ рдХреИрд╕реЗ рд╕рдВрднрд╛рд▓реЗрдВ - рдЪреВрдВрдХрд┐ "$a = рдкреАрдбреАрдПрд▓(2) / рдкреАрдбреАрдПрд▓(0) "
рдЦрд░рд╛рдм рдорд╛рди рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдкрд┐рдбрд▓ рдХреЗ рдмреИрдбрдлреНрд▓реИрдЧ рдорд╛рди рдХреЛ рдЕрджреНрдпрддрди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдХреНрдпрд╛ рд╣рдо рдПрдХ рдХреЛ рдкрдХрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ?
рдЕрдкрд╡рд╛рдж, рдпрд╛ рдХреНрдпрд╛ рд╣рдореЗрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЬрд╛рд▓ рдмрд┐рдЫрд╛рдирд╛ рд╣реЛрдЧрд╛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП "рдЕрдкрд╡рд╛рдж" рдЦреЛрдЬреЗрдВ
рдмреЗрд╕рд┐рдХ/рдСрдкреНрд╕/рдСрдкреНрд╕.рдкреАрдбреА)?

"Nan" рдФрд░ "Inf" рдХреА рдЬрд╛рдБрдЪ "finite()" рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреА рдЬрд╛рддреА рд╣реИред рдпрджрд┐ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ
"NaN" рдорд╛рди рдкрд░ рдПрдХ рдорд╛рди рд╕реЗрдЯ рдХрд░реЗрдВ, рдХреЛрдб рдХреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдмрд┐рдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдпрд╣ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)ред
рджреЛрдиреЛрдВ рдореЗ рдмреЗрд╕рд┐рдХ/рдХреЛрд░/рдХреЛрд░.xs.PL рдФрд░ рдмреЗрд╕рд┐рдХ/рдЦрд╝рд░рд╛рдм/рдЦрд╝рд░рд╛рдм.рдкреА.рдбреА):

/* рдмрдбрд╝реА-рдПрдВрдбрд┐рдпрди рдорд╢реАрдиреЛрдВ рдХреЗ рд▓рд┐рдП */
рд╕реНрдерд┐рд░ рд╕рдВрдШ {рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдЪрд╛рд░ __c[4]; рдлрд╝реНрд▓реЛрдЯ __d; }
__pdl_nan = {{ 0x7f, 0xc0, 0, 0 } };

/* рдЫреЛрдЯреА-рдЫреЛрдЯреА рдорд╢реАрдиреЛрдВ рдХреЗ рд▓рд┐рдП */
рд╕реНрдерд┐рд░ рд╕рдВрдШ {рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдЪрд╛рд░ __c[4]; рдлрд╝реНрд▓реЛрдЯ __d; }
__pdl_nan = { { 0, 0, 0xc0, 0x7f } };

рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рд╕рдВрднрд╡рддрдГ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд░реВрдЯреАрди рдЬреИрд╕реЗ "рдирд╛рди("")" рдпрд╛ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП
"рдПрдЯреЛрдлрд╝("NaN")"ред

рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ рдХреЛрдИ рд╡рд┐рд╢реЗрд╖ рдорд╢реАрди рдмрдбрд╝реА рдПрдВрдбрд┐рдпрди рд╣реИ, рд░реВрдЯреАрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
"PDL::Core::Dev::isbigendian()"ред

рдХреНрдпрд╛ рдмрд╛рдд рд╣рдорд╛рд░реЗ рдмрд╛рд░реЗ рдореЗрдВя╝ИABOUTя╝Й рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг?


рдкреАрдбреАрдПрд▓ рдХреА рдЦреВрдмрд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдЗрд╕рдХрд╛ рдСрдирд▓рд╛рдЗрди рджрд╕реНрддрд╛рд╡реЗрдЬреАрдХрд░рдг рд╣реИред рдЗрд╕рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдЗрд╕ рдкреНрд░рдгрд╛рд▓реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ
рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдХрд░реЗрдВ рдХрд┐ рдХреЛрдИ рд░реВрдЯреАрди рдЦрд╝рд░рд╛рдм рдорд╛рдиреЛрдВ рдХрд╛ рдХреИрд╕реЗ/рдХреНрдпрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ: рдХрдИ рдорд╛рдорд▓реЛрдВ рдореЗрдВ "pp_def()"
рдЗрд╕рдореЗрдВ рд╡реИрд╕реЗ рднреА рд╕рд╛рд░реА рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдлрд╝рдВрдХреНрд╢рди-рд▓реЗрдЦрдХ рдХреЛ рдХреБрдЫ рднреА рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ
рд╕рднреА! рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдЬрдм рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИ, рддреЛ "рдмреИрдбрдбреЙрдХ" рд╡рд┐рдХрд▓реНрдк рд╣реИред рдХреЛрдб рдХреЗ рд▓рд┐рдП
рдкрд░реНрд▓ рд╕реНрддрд░ рдкрд░ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ - рдЕрд░реНрдерд╛рдд .pm рдлрд╝рд╛рдЗрд▓ рдореЗрдВ - "= рдЦрд╝рд░рд╛рдм рдХреЗ рд▓рд┐рдП" рдкреЙрдб рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА man/pod2man/html рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдкрд▓рдмреНрдз рд╣реЛрдЧреАред рдпрд╣ рднреА рд╣реИ
"perldl" рдпрд╛ "pdl2" рд╢реЗрд▓ рд╕реЗ рдкрд╣реБрдВрдЪ рдпреЛрдЧреНрдп - " Badinfo " рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ - рдФрд░
"pdldoc" рд╢реЗрд▓ рдХрдорд╛рдВрдб - "-b" рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред

рдпрд╣ рд╕рдорд░реНрдерди рдмрд╣реБрдд рд╢реБрд░реБрдЖрддреА рдЪрд░рдг рдореЗрдВ рд╣реИ - рдпрд╛рдиреА рдЗрд╕ рдкрд░ рдЬреНрдпрд╛рджрд╛ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ
рд╕реНрд╡рд╛рдЧрдд рд╣реИрдВ; рдкрд╕рдВрджреАрджрд╛ рдХреЛрдб рдореЗрдВ рд╕реБрдзрд╛рд░ ;) рдПрдХ рдЕрдЬреАрдм рд╕рдорд╕реНрдпрд╛ рд╣реИ *.рджреЛрдкрд╣рд░ рдХреЛрдб:
рдЖрдкрдХреЛ рдПрдХ рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛ *.рджреЛрдкрд╣рд░.рдкреА.рдПрд▓ рдлрд╝рд╛рдЗрд▓ рдЬреЛ рдХреЗрд╡рд▓ "= рдЦрд╝рд░рд╛рдм рдХреЗ рд▓рд┐рдП" рдирд┐рд░реНрджреЗрд╢ (+ рдкрд╛рда) рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рддреА рд╣реИ
рдЦрд░рд╛рдм рдореВрд▓реНрдп рд╕рдорд░реНрдерди рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЦрд░рд╛рдм рдореВрд▓реНрдпреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рддреЗ рд╕рдордп рдпрд╣ рдПрдХ рджрд░реНрдж рд╣реИ
рдкрд░реНрд▓, рдкреАрдбреАрдПрд▓::рдкреАрдкреА рдХреЗ рдмрдЬрд╛рдп, рд╕реНрддрд░: рд╢рд╛рдпрдж рдореБрдЭреЗ "WITH_BADVAL" рд╡рд┐рдХрд▓реНрдк рдХреЛ рд╣рдЯрд╛ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП...

рд╡рд░реНрддрдорд╛рди рдореБрджреНрджреЗрдВ


рдРрд╕реЗ рдХрдИ рдХреНрд╖реЗрддреНрд░ рд╣реИрдВ рдЬрд┐рдирдореЗрдВ рдХрд╛рдо, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдирдкреБрдЯ рдпрд╛ рджреЛрдиреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ! рдЙрдирдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рд╣реИ
рдЗрд╕ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рдХрд╣реАрдВ рдФрд░, рд▓реЗрдХрд┐рди рдпрд╣ рдХреЗрд╡рд▓ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ рдХрд┐ рд╡реЗ рдЦреЛ рди рдЬрд╛рдПрдБред

рдкрдХрдбрдирд╛ рдЕрдорд╛рдиреНрдп рдЧрдгрд┐рддреАрдп рдЖрдкрд░реЗрд╢рдиреЛрдВ
рдХреНрдпрд╛ рд╣рдореЗрдВ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдЦрд░рд╛рдм рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП "рдкреАрдбреАрдПрд▓::рдСрдкреНрд╕" рдореЗрдВ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдЕрдкрд╡рд╛рдж рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рд┐рдП?
рд╢реНрд░реЗрдгреА рдЗрдирдкреБрдЯ рдорд╛рди?

рдкреАрдбреАрдПрд▓> рдкреА рд▓реЙрдЧ10(рдкреАрдбреАрдПрд▓(10,100,-1))

рдореИрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдЙрдкрд░реЛрдХреНрдд "[1 2 рдмреАрдПрдбреА]" рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛ рдЬрд╛рдП, рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рдкрд░рд┐рдЪрд╛рд▓рди рдзреАрдорд╛ рд╣реЛ рдЬрд╛рдПрдЧрд╛ рд╕рдм
рдкрд╣реЗрд▓рд┐рдпрд╛рдБред рд╣рдо рдСрдкрд░реЗрд╢рди рдХреЗ рдмрд╛рдж "NaN"/"Inf" рдорд╛рдиреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЗрд╕рдореЗрдВ рд╕рдВрджреЗрд╣ рд╣реИ
рдФрд░ рднреА рддреЗрдЬрд╝ рд╣реЛрдЧрд╛.

рдПрдХреАрдХрд░рдг рд╕рд╛рде рдореЗрдВ NaN
рдЬрдм "BADVAL_USENAN" рд╕рддреНрдп рд╣реИ, рддреЛ "PDL::Ops" рдореЗрдВ рд░реВрдЯреАрди рдХреЛ рдмрд╕ рдЗрд╕рдХреЗ рдЕрдВрддрд░реНрдЧрдд рдЖрдирд╛ рдЪрд╛рд╣рд┐рдП
"рдХреЛрдб" рдЕрдиреБрднрд╛рдЧ - рдЕрд░реНрдерд╛рдд "рдлреНрд▓реЛрдЯ" рдФрд░ "рдбрдмрд▓" рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП "рдмреИрдбрдХреЛрдб" рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВред

рд╡реИрд╢реНрд╡рд┐рдХ рдмрдирд╛рдо рдкреНрд░рддрд┐-рдкрд┐рдбрд▓ рдмреБрд░рд╛ рдорд╛рдиреЛрдВ
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдмрд╕ "рдмреЗрд╕рд┐рдХ/рдХреЛрд░/pdlconv.c.PL" рдореЗрдВ рд░реВрдЯреАрди рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ, рд╣рд╛рд▓рд╛рдБрдХрд┐
рдЬрдЯрд┐рд▓рддрд╛рдПрдБ рдЕрд╡рд╢реНрдп рд╣реЛрдВрдЧреАред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рднреА рд╣реЛрдЧрд╛ рдХрд┐ рдкреАрдбреАрдПрд▓ рд╕рдВрд░рдЪрдирд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА
рдЗрд╕рдХреЗ рдЦрд░рд╛рдм рдорд╛рди рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡реИрд░рд┐рдПрдмрд▓ рд░рдЦрдирд╛, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реЛрдЧрд╛ рдмрд╛рдЗрдирд░реА рдЕрд╕рдВрдЧрддрд┐
рдЦрд░рд╛рдм рдореВрд▓реНрдп рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рдкреАрдбреАрдПрд▓ рдХреЗ рдкрд┐рдЫрд▓реЗ рд╕рдВрд╕реНрдХрд░рдгред

17 рдорд╛рд░реНрдЪ 2006 рддрдХ, рдкреАрдбреАрдПрд▓ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИ рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ "BADVAL_PER_PDL" рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╡рд┐рдХрд▓реНрдк
рдЬреЛ рдЪрдпрдирд┐рдд рд╣реЛрдиреЗ рдкрд░ рдкреНрд░рддрд┐-рдкрд┐рдбрд▓ рдЦрд░рд╛рдм рдорд╛рди рдЬреЛрдбрд╝рддрд╛ рд╣реИред

рдбрд╛рдЯрд╛ рдкреНрд░рд╡рд╛рд╣ of la рдЦрд╝рд░рд╛рдмрдлрд╝реНрд▓реИрдЧ
рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЦрд░рд╛рдм рдзреНрд╡рдЬ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдПрдХ рдореВрд░реНрдЦ рдХреЗ рдмрдЪреНрдЪреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рдЪрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж
рдЙрдиреНрд╣реЗрдВ рдорд╛рддрд╛-рдкрд┐рддрд╛ рддрдХ рднреА рдкрд╣реБрдВрдЪрд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдкреНрд░рддрд┐-рдкрд┐рдбрд▓ рдЦрд╝рд░рд╛рдм рдХреЗ рдЖрдЧрдорди рдХреЗ рд╕рд╛рде
рдореВрд▓реНрдпреЛрдВ рдкрд░ рд╣рдореЗрдВ рдЗрд╕ рдмрд╛рдд рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдЦрд░рд╛рдм рд╡рд╕реНрддреБрдУрдВ рдХреЛ рджрд░реНрд╢рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдореВрд▓реНрдп рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдХреИрд╕реЗ рд╕рдВрднрд╛рд▓рдирд╛ рд╣реИ
рднреА рд╣реИ.

рд╕рдм рдХреБрдЫ рдФрд░


рдирд┐рд░реНрдорд╛рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реБрдИ рд╣реИ. рдирд┐рд░реНрдорд╛рдг рдХреЗ рджреМрд░рд╛рди рдЕрдм рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлрд╝рд╛рдЗрд▓реЗрдВ рдмрдирд╛рдИ рдЧрдИ рд╣реИрдВ:

рдмреЗрд╕рд┐рдХ/рдХреЛрд░/рдкреАрдбреАрдПрд▓рдХреЛрд░.рдПрдЪ рдкреАрдбреАрдПрд▓рдХреЛрд░.рдПрдЪ.рдкреАрдПрд▓
pdlcore.c pdlcore.c.PL
pdlapi.c pdlapi.c.PL
Core.xs Core.xs.PL
Core.pm Core.pm.PL

рдХрдИ рдирдИ рдлрд╝рд╛рдЗрд▓реЗрдВ рдЬреЛрдбрд╝реА рдЧрдИ рд╣реИрдВ:

Basic/Pod/BadValues.pod (рдЕрд░реНрдерд╛рддреН рдпрд╣ рдлрд╝рд╛рдЗрд▓)

t/рдЦрд╝рд░рд╛рдм.t

рдмреБрдирд┐рдпрд╛рджреА/рдЦрд░рд╛рдм/
рдмреЗрд╕рд┐рдХ/рдЦрд░рд╛рдм/рдореЗрдХрдлрд╛рдЗрд▓.рдкреАрдПрд▓
рдЦрд╝рд░рд╛рдм.рдкреА.рдбреА

рдЖрджрд┐

рдХрд╛рд░реНрдпрд╡рд┐рдзрд┐/рд╕реБрдЭрд╛рд╡


┬╖ рдкреНрд░рддрд┐-рдкрд┐рдбрд▓ рдЦрд░рд╛рдм рдорд╛рдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реЛрдЧрд╛ рдкреАрдбреАрдПрд▓ рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рдмрджрд▓рд╛рд╡ (рдпрд╛рдиреА)ред
рдмрд╛рдЗрдирд░реА рдЕрд╕рдВрдЧрддрд┐) рдФрд░ "рдмреЗрд╕рд┐рдХ/рдХреЛрд░/pdlconv.c.PL" рдореЗрдВ рд░реВрдЯреАрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА
рдЗрд╕реЗ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рд╡рд░реНрддрди рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдЕрдзрд┐рдХрд╛рдВрд╢ рдЕрдиреНрдп рджрд┐рдирдЪрд░реНрдпрд╛ рдЪрд╛рд╣рд┐рдП рдирд╣реАрдВ рдмрджрд▓рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ...

рджреЗрдЦрдирд╛ рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ "BADVAL_PER_PDL" рд╡рд┐рдХрд▓реНрдкред

┬╖ "$b = pdl(-2); $a = log10($b)" рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рдХрд░реЗрдВ - $a рдХреЛ рдЦрд░рд╛рдм рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдпрд╣
рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдирд╣реАрдВ рд╣реИ.

┬╖ NaN рдХреЛ A рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп PDL::Ops рдореЗрдВ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рдЦрд░рд╛рдм рдорд╛рдиреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдВ
рдЦрд╝рд░рд╛рдм рдорд╛рди рдФрд░ рдлрд╝реНрд▓реЛрдЯрд┐рдВрдЧ-рдкреЙрдЗрдВрдЯ рдкрдбрд▓ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдирд╛ред рдЗрд╕рдХреЗ рд▓рд┐рдП рдХрд╛рдлрд╝реА рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ
рдкреАрдбреАрдПрд▓::рдкреАрдкреА::рдкреАрдбреАрдПрд▓рдХреЛрдбред

┬╖ "$pdl-> Baddata()" рдЕрдм рдЗрд╕ рдкрд╣реЗрд▓реА рдХреЗ рд╕рднреА рдмрдЪреНрдЪреЛрдВ рдХреЛ рднреА рдЕрдкрдбреЗрдЯ рдХрд░рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдирд╣реАрдВ
рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐:

$рдмреА = $рдП->рд╕реНрд▓рд╛рдЗрд╕();
$рдмреА->Baddata(0)

рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ $a рдХрд╛ рдЦрд░рд╛рдм рдореВрд▓реНрдп рд╕рд╛рдлрд╝ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдмрд╛рдж рдореЗрдВ

$рдмреА->Baddata(1)

рдпрд╣ рдорд╛рди рд▓реЗрдирд╛ рд╕рдордЭрджрд╛рд░реА рд╣реИ рдХрд┐ рдЕрдм рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреЛ рдмреБрд░реЗ рдореВрд▓реНрдпреЛрдВ рд╡рд╛рд▓реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд╢рд╛рдпрдж рдЖрдк рдЦрд╝рд░рд╛рдм рдореВрд▓реНрдп рд╡рд╛рд▓реЗ рдлрд╝реНрд▓реИрдЧ рдХреЛ рдХреЗрд╡рд▓ рддрднреА рд╕рд╛рдлрд╝ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рджреВрд╕рд░реЗ рдХреЗ рдмрдЪреНрдЪреЗ рдирд╣реАрдВ рд╣реИрдВ
рдкрдбрд▓, рдЬрдмрдХрд┐ рдпрджрд┐ рдЖрдк рдзреНрд╡рдЬ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рд╕рднреА рдмрдЪреНрдЪреЛрдВ рдФрд░ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреЛ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП
рдХреБрдВрдЖ?

рдЗрд╕реА рддрд░рд╣, рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рдкрд┐рдбрд▓ рдореЗрдВ рдЦрд░рд╛рдм рдорд╛рди рдмрджрд▓рддреЗ рд╣реИрдВ, рддреЛ рдХреНрдпрд╛ рдЗрд╕реЗ рдкреНрд░рдЪрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП
рдорд╛рддрд╛-рдкрд┐рддрд╛ рдФрд░ рдмрдЪреНрдЪреЗ? рдпрд╛ рдХреНрдпрд╛ рдЖрдкрдХреЛ рдЗрд╕реЗ рдХреЗрд╡рд▓ 'рд╢реАрд░реНрд╖-рд╕реНрддрд░реАрдп' рдкрд╣реЗрд▓реА рдкрд░ рд╣реА рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП?
рдмрд╣реБрдд рдЦрд░рд╛рдм...

┬╖ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдХреЛрдб рд╕реЗрдЯ рдХрд░реЗрдВ рдХрд┐ рдЪреАрдЬреЗрдВ рдХрд┐рддрдиреА рдзреАрдореА рд╣реЛ рдЧрдИ рд╣реИрдВ (рдФрд░ рддрдХ)ред
рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдпрджрд┐ "WITH_BADVAL" 0/undef рд╣реИ рддреЛ рдореИрдВрдиреЗ рдХреБрдЫ рдЧрдбрд╝рдмрдбрд╝ рддреЛ рдирд╣реАрдВ рдХреА рд╣реИ)ред

┬╖ рдХреБрдЫ рдирд╛рдо рдЖрдХрд░реНрд╖рдХ рдирд╣реАрдВ рд╣реИрдВ - рдореИрдВ "рдореВрд▓_рдмреИрдбрд╡реИрд▓реНрдпреВ ()" рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪ рд░рд╣рд╛ рд╣реВрдВ
рдмреЗрд╕рд┐рдХ/рдЦрд╝рд░рд╛рдм/рдЦрд╝рд░рд╛рдм.рдкреА.рдбреА рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗред рдХрд┐рд╕реА рднреА рд╕реБрдЭрд╛рд╡ рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХреА рдЬрд╛рддреА рд╣реИ.

onworks.net рд╕реЗрд╡рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдСрдирд▓рд╛рдЗрди PDL::BadValuesp рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ


рдлреНрд░реА рд╕рд░реНрд╡рд░ рдФрд░ рд╡рд░реНрдХрд╕реНрдЯреЗрд╢рди

рд╡рд┐рдВрдбреЛрдЬ рдФрд░ рд▓рд╛рдЗрдиреЗрдХреНрд╕ рдПрдк рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ

рд▓рд┐рдирдХреНрд╕ рдХрдорд╛рдВрдб

Ad