У меня есть две страницы одна в php (index.php) и еще одна в Perl (dbcon.pl).Как включить файл .pl (PERL) в PHP
В основном я хочу, чтобы в моем файле php отображался только пользовательский интерфейс, и все операции с данными выполнялись в файле Perl.
я попробовал в index.pl
<?php include("dbcon.pl");?>
<html>
<br/>PHP</br>
</html>
и dbcon.pl имеет
#!/usr/bin/perl
use strict;
use warnings;
use DBI;
use CGI::Simple;
my $cgi = CGI::Simple->new;
my $dsn = sprintf('DBI:mysql:database=%s;host=%s','dbname','localhost');
my $dbh = DBI->connect($dsn,root =>'',{AutoCommit => 0,RaisError=> 0});
my $sql= "SELECT * FROM products";
my $sth =$dbh->prepare($sql);
$sth->execute or die "SQL Error: $DBI::errstr\n";
while (my @row = $sth->fetchrow_array){
print $cgi->header, <<html;
<div> @row[0] @row[1] @row[2] @row[3] @row[4]</div>
html
}
но когда я запустить index.php в браузере печатает весь код в файле dbcon.pl вместо его выполнения
как преодолеть эту проблему?
примечание: я бег это окно среда
есть ли другой способ сделать это?
Вы должны понимать основные принципы работы инструментов, перед которыми вы работаете, перед их использованием. Я не хочу быть грубым, но этот вопрос почти кричит «Я не знаю, как работают интерпретируемые языки», поэтому, хотя вы можете следовать некоторым из приведенных ниже ответов (они достаточно хороши), вы столкнетесь с гораздо большими проблемами в ближайшее будущее. –
я буду держать это в виду, спасибо – dexter
Я сожалею звучать грубо, тоже, но вы действительно кажется, решил это так, как вы решили использовать, и упорно отказываются делать это любым иным способом. На мой взгляд, нет абсолютно никаких оснований использовать Perl и PHP в таком нечетном сочетании, и вы, похоже, не можете сформулировать фактический * мотив *, чтобы идти своим путем, кроме неопределенных утверждений типа «мне действительно нужно сделать это таким образом только". –