рдЖрд░рдЯреАрдПрдл рд░реВрдкреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд░рд┐рдкреЛрд░реНрдЯ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╕рд░рд▓ рддрд░реАрдХрд╛

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

RTF рд░рд┐рдХреНрдд рдЙрджрд╛рд╣рд░рдг
рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХрд╛ рд╢реАрд░реНрд╖рдХ: PARAM1
рдкрдВрдХреНрддрд┐ 1рдореВрд▓реНрдпPARAM2
рдкрдВрдХреНрддрд┐ реирдореВрд▓реНрдпPARAM3

рд╣рд╕реНрддрд╛рдХреНрд╖рд░: PARAM4

рдЕрдВрдЬреАрд░ред 1 рдЖрд░рдЯреАрдПрдл-рдлрд╝рд╛рдЗрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдлреЙрд░реНрдо рдХрд╛ рдЙрджрд╛рд╣рд░рдг, рдЪрд░ рдХреЛ "QUOTE" рдкреНрд░рдХрд╛рд░ рдХреЗ рдЦреЗрддреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - PARAM1, PARAM2, PARAM3, PARAM4



рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдлреЙрд░реНрдо рднрд░рддреЗ рд╕рдордп, PARAM1 ... 4 рдЪрд░ рдХреЛ рдЕрдкрдиреЗ рдореВрд▓реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛ред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкреНрд░рдкрддреНрд░ рдкреНрд░рдкрддреНрд░ рдЖрдорддреМрд░ рдкрд░ рд╕реНрдерд┐рд░ рдФрд░ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рд░рд╣рддрд╛ рд╣реИ, рдФрд░ рдкреНрд░рдкрддреНрд░ рдореЗрдВ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдлрд╝реАрд▓реНрдб рдбреЗрдЯрд╛рдмреЗрд╕ рддрд╛рд▓рд┐рдХрд╛рдУрдВ, рдбреЗрдЯрд╛ рдлрд╝рд╛рдЗрд▓реЛрдВ, рдЖрджрд┐ рд╕реЗ "рд▓реЛрдб" рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдкрд░реНрд▓ рднрд╛рд╖рд╛ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ, рд╣реИрд╢ рдореВрд▓реНрдп рдЬрд┐рдирдХреА рдХреБрдВрдЬреА рдЪрд░ рдирд╛рдореЛрдВ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реИ:
(PARAM1 => "PARAMETER1", PARAM1 => "PARAMETER2", PARAM1 => "PARAMETER3",
PARAM1 => "PARAMETER4")
рдирддреАрдЬрддрди, рд▓реЗрдЬрд░ рдкреНрд░рд┐рдВрдЯрд░ рдкрд░ рдореБрджреНрд░рдг рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдлреЙрд░реНрдо рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛:

RTF рд░рд┐рдХреНрдд рдЙрджрд╛рд╣рд░рдг
рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХрд╛ рд╢реАрд░реНрд╖рдХ: OPTION1
рдкрдВрдХреНрддрд┐ 1рдореВрд▓реНрдпparameter2
рдкрдВрдХреНрддрд┐ реирдореВрд▓реНрдпрдкреИрд░рд╛рдореЗрдЯреЗрд░ рей

рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рддрд╣рдд рд╣рд╕реНрддрд╛рдХреНрд╖рд░: PARAMETER4

рдЕрдВрдЬреАрд░ред 2 тАЬQUOTEтАЭ рдкреНрд░рдХрд╛рд░ рдХреЗ рдлрд╝реАрд▓реНрдб рдХреЛ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрд╢ рдХреБрдВрдЬреА рдХреЗ рдорд╛рдиреЛрдВ рдХреЗ рд╕рд╛рде рдмрджрд▓рдХрд░ rtf-form (рдЫрд╡рд┐ 1) рдореЗрдВ рднрд░рдиреЗ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реИред


рдЗрд╕реА рд╕рдордп, рдХрдИ рдХрдард┐рди рдЕрд╕рдВрдЧрдд рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рдлреЙрд░реНрдо рдХрд╛ рд╡рд┐рдХрд╛рд╕ рдФрд░ рд╕реБрдзрд╛рд░ рдЕрдВрддрд┐рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ (рдПрдХрд╛рдЙрдВрдЯреЗрдВрдЯ, рдорд╛рдирд╡ рд╕рдВрд╕рд╛рдзрди рдЕрдзрд┐рдХрд╛рд░реА, рдкреНрд░рдмрдВрдзрдХ, рдЖрджрд┐) рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдордирдорд╛рдиреЗ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЛ рд╡рд┐рд▓рдп рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдпрд╛ рдХрд░реНрдордЪрд╛рд░реА рдХреЛ рдбреЗрдЯрд╛ рдирд┐рд╖реНрдХрд░реНрд╖рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреА рддреИрдпрд╛рд░реА рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╕рдорд░реНрдерди рд╕реЗрд╡рд╛рдПрдВ, рдЕрд░реНрдерд╛рдд рдбреЗрдЯрд╛ рдирд┐рд╖реНрдХрд░реНрд╖рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реЗ рдбреЗрдЯрд╛ рдХреА рдкреНрд░рд╕реНрддреБрддрд┐ рдХреЛ рдЕрд▓рдЧ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред

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

рдПрдХ рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдк - рдПрдХреНрд╕рдПрдордПрд▓ рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рдкрддреНрд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдПрдХреНрд╕рдПрд╕рдПрд▓рдЯреА рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдирд┐рдпрдореЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рднрд░рдирд╛ - рдЗрд╕рдХрд╛ рдиреБрдХрд╕рд╛рди рдпрд╣ рд╣реИ рдХрд┐ рдПрдХ рдЕрдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдпрд╣ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛрдЧрд╛ рдЬреЛ XML рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд░реВрдкреЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдФрд░ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдордПрд╕ рд╡рд░реНрдб рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдПрдордПрд╕ рд╡рд░реНрдб рдХреА рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛ рдореЗрдВ рдПрдХреНрд╕рдПрдордПрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рднреА рд╕рд╛рдорд╛рдиреНрдп рдЯреВрд▓ рдХреЛ рдвреВрдВрдврдирд╛ рдХрдард┐рди рд╣реИред

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

рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдЬреЛ рдЗрд╕ рддрд░рд╣ рдХреЗ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд░рддрд╛ рд╣реИ, рдкреЛрд╕реНрдЯрд┐рдВрдЧ рдХреЗ рдЕрдВрдд рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред

рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреА рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ (рдЪрд░ рдорд╛рдиреЛрдВ рдХреЗ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреЗ рд╕рд╛рде рдПрдХ рддреИрдпрд╛рд░-рдирд┐рд░реНрдорд┐рдд рдЖрд░рдЯреАрдПрдл-рдлреЙрд░реНрдо рдПрдХ рдЕрд╕реНрдерд╛рдпреА рдлрд╝рд╛рдЗрд▓ temp.rtf рдХреЗ рд▓рд┐рдП рдЖрдЙрдЯрдкреБрдЯ рд╣реИ, рдкреНрд░рд┐рдВрдЯрд░ рдХреЛ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИ), рдмреНрдпрд╛рдЬ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рд╣рд┐рд╕реНрд╕рд╛ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╣реИ:

$rtf =~ s/\{\\field\b[^{}]*\{\\\*\\fldinst.*?{\\fldrslt\s*\{([^}]+\s)?\s*([^}]+\s) ?\s*([^}]+)\}\s*((?:\{[^{}]+\}\s*)*)\}\s*\}/dosubst($1,$2,$3,$p,$&)/gesx; 


"QUOTE" рдкреНрд░рдХрд╛рд░ рдХреЗ рдлрд╝реАрд▓реНрдб рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рдХреЗ рд▓рд┐рдП rtf-file рдореЗрдВ рдЦреЛрдЬ рдХрд░рдирд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ dosubst рдлрд╝рдВрдХреНрд╢рди рджреНрд╡рд╛рд░рд╛ рд▓реМрдЯрд╛рдП рдЧрдП% p рд╣реИрд╢ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдорд╛рди рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ред рдЗрд╕ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреА рд╡реИрдзрддрд╛ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рд╕рднреА рдПрдордПрд╕ рдСрдлрд┐рд╕ рдкреИрдХреЗрдЬреЛрдВ рджреНрд╡рд╛рд░рд╛ рддреИрдпрд╛рд░ rtf- рдлрд╛рдЗрд▓реЛрдВ рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдСрдлрд┐рд╕ 95 рд╕реЗ рдСрдлрд┐рд╕ 2010 рддрдХред

рдмреЗрд╢рдХ, рдЗрд╕ рдкрджреНрдзрддрд┐ рдореЗрдВ рдХреБрдЫ рдХрдорд┐рдпрд╛рдВ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрд░рдЯреАрдПрдл рдлреЙрд░реНрдо рдХреЗ рд▓рд┐рдП рддрд╛рд▓рд┐рдХрд╛ рдорд╛рдиреЛрдВ рдХреЛ рдЖрдЙрдЯрдкреБрдЯ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд▓рдВрдмреА рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рд▓рд┐рдП (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡реЗ рдкрд░реНрд▓ рд▓рд┐рдкрд┐ рдореЗрдВ рдирд┐рд░реНрдорд╛рдг рдХрд░рдХреЗ рддреБрд░рдВрдд рддреИрдпрд╛рд░ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ), рд▓реЗрдХрд┐рди рдпрд╣ рднреА рдЧрдВрднреАрд░ рдлрд╛рдпрджреЗ рд╣реИрдВ :

- рдлреЙрд░реНрдо рдХреЗ рд╡рд┐рдХрд╛рд╕ рдФрд░ рдЗрд╕рдореЗрдВ рдбреЗрдЯрд╛ рдкреНрд▓реЗрд╕рдореЗрдВрдЯ рдХреЗ рд▓рд┐рдП рдлрд╝реАрд▓реНрдбреНрд╕ рдХреА рд╡реНрдпрд╡рд╕реНрдерд╛ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ, рдЬреЛ рд╡рд░реНрдб рдПрдбрд┐рдЯрд░ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реЛ (рдЬреЛ рдЯреЗрдХреНрд╕реНрдЯ рдореЗрдВ "QUOTE" рдЯрд╛рдЗрдк рдХреЗ рдлрд╝реАрд▓реНрдбреНрд╕ рдбрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ), рдлрд┐рд░ рдбреЗрдЯрд╛ рдлрд╝реАрд▓реНрдб рдирд╛рдореЛрдВ рдХреА рд╕реВрдЪреА рдХреЛ рд╕реВрдЪрд┐рдд рдХрд░рдирд╛ рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдпрд╛ рд╕реЗрд╡рд╛ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рдХреЗ рдкрд╛рд╕ рд▓реЗ рдЬрд╛рддреЗ рд╕рдордп рдЙрдирдореЗрдВ рдХреНрдпрд╛ рд░рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ;
- рдбреЗрдЯрд╛ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рд╡рд┐рдХрд╛рд╕ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рдХреЙрд╕реНрдореЗрдЯрд┐рдХ рд░реВрдк рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди (рдлрд╝реЙрдиреНрдЯ, рдЗрдВрдбреЗрдВрдЯреЗрд╢рди, рд▓реЛрдЧреЛ, рдЖрджрд┐), рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдпрд╛ рддреЛ рд╕рдорд░реНрдерди рд╕реЗрд╡рд╛ рдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрд╕рд╛рдиреА рд╕реЗ рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд░реВрдк рдХрд╛ рд▓реЗрдЦрдХред

рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдбреЗрдЯрд╛ рдкреНрд░рд╕реНрддреБрддрд┐ рдлреЙрд░реНрдо рдХреЛ рдЕрд▓рдЧ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдпрд╛ рд╕рдорд░реНрдерди рд╕реЗрд╡рд╛ рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИ, рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдбреЗрдЯрд╛ рд╕реЗ, рдЬрд┐рд╕рдХреА рдирд┐рд╖реНрдХрд░реНрд╖рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдХрд╕рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИред

 #!/usr/bin/perl # filling rtf-blank # Dim Kobzev, Andrew Sapognikov # 2004 $==1000; #-------------------------filling template file------------------------------- sub dosubst { my ($pfx, $key, $xtrakey, $parm, $str) = @_; if (defined $xtrakey) { $xtrakey =~ s/[{}]//g; $xtrakey =~ s/\\w+//g; $xtrakey =~ s/\s//g; $key .= $xtrakey; } defined ($parm->{$key}) or return "\{$pfx\}"; my $val = $parm->{$key}; $val =~ s/([{}\\])/\\$1/g; $val =~ s/\n/\\line/g; $val =~ s/\r//g; return "\{$pfx$val\}"; } sub template ($$) { #filling $filename with hash $p my ($filename,$p)=@_; my $rtf; local $/, *F; open (F,"< $filename") or die "Cannot open $filename"; $rtf=<F>; close(F); #set win-1251 codepage $rtf =~ s/\\f(5|6)\\fmodern\\fcharset0/\\f$1\\fmodern\\fcharset144/; $rtf =~ s/\{\\field\b[^{}]*\{\\\*\\fldinst.*?{\\fldrslt\s*\{([^}]+\s) ?\s*([^}]+)\}\s*((?:\{[^{}]+\}\s*)*)\}\s*\}/dosubst($1,$2,$3,$p,$&)/gesx; return $rtf; }; #-------------------------main-------------------------------------------------- %p=('PARAM1'=>"1",'PARAM2'=>"2", 'PARAM3'=>"3",'PARAM4'=>"4"); my $tfil='temp.rtf'; open *FILE, "> $tfil" or die "Cannot open temporary file $tfil"; print FILE template("blank.rtf",\%p); close *FILE; #---------------------------------end main------------------------------------- 

Source: https://habr.com/ru/post/In156805/


All Articles