Есть такой сервис, который высылает пользователю купоны. Переделываю с перла. Изначально была форма в html HTML: <!-- form : begin --> <!-- if_error : begin --><center class="orange"><!-- error : message --></center><!-- if_error : end --> <div class="discount"> <form action="." name="sms_form" method="post"> <input name="phone_code" maxlength="3" class="discount-text" style="width:43px;" value="<!-- form : code -->"> <input name="phone_phone" maxlength="7" class="discount-text" style="width:90px;" value="<!-- form : phone -->"> <div> <!-- module # text_block : insert_text_block : 33 --> </div> <input type="image" src="/i/discount-btn.gif" class="submit"> <input type="hidden" name="phone_confirm" value="1" class="confirm"> </form> </div> <!-- form : end --> <!-- form_ok : begin --> <div class="discount-ok" style="text-align:center;"> <!-- module # text_block : insert_text_block : 34 --> </div> <!-- form_ok : end --> И был скрипт на перле: Код (Text): package form; use lib '../mods'; use Setup qw( %config ); use Common qw( $dbh %FORM %var ); #use Form; use LWP::UserAgent; use JSON::XS; use strict; use Mail; my ( $function_name, $form_id ) = @_; my $result = ""; my $err_message = ''; if( $function_name eq 'insert_sms_form' ) { my $template = Common::open_template( './form/templates/sms_form.html' ); $template =~ /<!--\s*form\s*:\s*begin\s*-->(.*?)<!--\s*form\s*:\s*end\s*-->/is; $result = $1; if( $FORM{ 'phone_confirm' } ) { if( $FORM{ 'phone_code' } !~ /^\d{3}$/ || $FORM{ 'phone_phone' } !~ /^\d{7}$/ ) { $err_message = "Неправильно введён телефонный номер!"; } else { my $phone = '7' . $FORM{ 'phone_code' } . $FORM{ 'phone_phone' }; my $ua = new LWP::UserAgent; my $json = JSON::XS->new(); my $response = $ua -> post('http://mobiquest.ru/coupon_campaign/api/add_subscriber_to_campaign', { token => '43f234f368679oyujf32', response => 'json', phone => $phone } ); my $content = $response -> content; my %json_result = %{$json -> decode( $content )}; if( int( $json_result{ 'status' } ) ) { $template =~ /<!--\s*form_ok\s*:\s*begin\s*-->(.*?)<!--\s*form_ok\s*:\s*end\s*-->/is; $result = $1; my $subject = 'Выдан СМС-купон'; my $message = qq!Выдан СМС-купон на телефонный номер $phone.!; Mail::sendmail( ['mail@mail.ru,sobaka@mail.ru'], ['sobaka@mail.ru'], [$subject, $message] ); } else { $err_message = "Возникла ошибка при отправке СМС!"; } # End if } # End if $result =~ s/<!--\s*form\s*:\s*code\s*-->/$FORM{ 'phone_code' }/gis; $result =~ s/<!--\s*form\s*:\s*phone\s*-->/$FORM{ 'phone_phone' }/gis; if( $err_message ) { $result =~ s/<!--\s*if_error\s*:\s*begin\s*-->(.*?)<!--\s*if_error\s*:\s*begin\s*-->/$1/is; $result =~ s/<!--\s*error\s*:\s*message\s*-->/$err_message/is; } else { $result =~ s/<!--\s*if_error\s*:\s*begin\s*-->(.*?)<!--\s*if_error\s*:\s*begin\s*-->//is; } # End if } # End if return $result; } Вот что я написал, дальше не пойму что творить, нужно ли тоже использовать json и как. PHP: <? if(!preg_match("/^[0-9]{0,3}+$/", $_POST['userCode'])) echo ("Код задан в неверном формате"); if(!preg_match("/^[0-9]{0,7}+$/", $_POST['userPhone'])) echo ("Телефон задан в неверном формате"); $phone = "7".$_POST['userCode'].$_POST['userPhone']; $fields = array ( 'token' => '43f234f368679oyujf32', 'response' => 'json', 'phone' => $phone); $response = http_post_fields("http://mobiquest.ru/coupon_campaign/api/add_subscriber_to_campaign", $fields); ?>