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;
Помогите пожалуйста!!! Спасибо заранее..
есть 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;
Помогите пожалуйста!!! Спасибо заранее..