Запуск perl скрипта из php для обработки и возвращение значения после обработки.

Jovanni

Новичок
Уважаемые форумчане!!! Помогите решить задачу пожалуйста!!!!
есть php скрипт www.php

<?php
$user_ip = $_POST['ip'];
exec ("./test.pl '$user_ip' ");
echo $user_ip;
?>

берется значение ip.
и передается скрипту перл

а скрипт test.pl должен обработать этот ip
То есть должен поменять ip на имя из файла users.txt и передать обратно php

#!/usr/bin/perl -w

use strict;
use warnings;
#use diagnostics;

$user_ip = $ARGV[0];
my $users_file = 'users.txt';
my $user_ip;
my $user;
my %users;

if (-r $users_file) {
my $fh3;

if (open( $fh3, $users_file )) {
while (<$fh3>) {
if (/^\s*((?:\d{1,3}\.){3}\d{1,3})\s+(.*)$/) {
$users{ $1 } = $2;
}
}
close($fh3);
}
}


while (my $line = <>) {


if ($line =~ m{ ((?:\d{1,3}\.){3}\d{1,3}) }) {
$user_ip = $1;
$user = $users{$user_ip} || 'Unauthorized';
}

else {
print $line;
}
}


А файл users.txt имеет такой вид

192.168.1.2 Sasha
192.168.1.3 Nikolay


То есть после обработки php должен выдавать не ip а Имя
echo $user_ip;
Помогите пожалуйста!!! Спасибо заранее..
 

С.

Продвинутый новичок
Это чесание левого уха правой рукой. Лучше весь этот несложный функционал перлового скрипта написать на РНР.
 
  • Like
Реакции: WMix

Jovanni

Новичок
Тогда можете показать как это делается использованием только PHP
просто мне посоветовали Perl он быстрее обрабатывает строки сказали..
Если есть возможность покажите плз на примере.
 

С.

Продвинутый новичок
просто мне посоветовали Perl он быстрее обрабатывает строки сказали
Даже если и так (что спорно), то вызов перл-интрепретатора черз шелл из РНР убивает все преимущества на корню.

Тогда можете показать как это делается использованием только PHP
Если есть возможность покажите плз на примере
Увы нет. Проще написать это самому, чем объяснить неспециалисту. Изучайте РНР или наймите кого-нибудь.
 
Сверху