Matches in SemOpenAlex for { <https://semopenalex.org/work/W47418460> ?p ?o ?g. }
Showing items 1 to 52 of
52
with 100 items per page.
- W47418460 startingPage "10" @default.
- W47418460 abstract "PHP and Perl are both so powerful, they can even run each other. Perl is a language often associated with text processing and CGI. PHP is a language often associated with dynamic Web pages. Both are very popular with Web developers. Often, each of these languages is used at the expense of the other. Hard-core Perl developers would love to develop everything in Perl, and PHP developers tend to stick with PHP. As usual in the Open Source world, there is a lot of zealotry between users of each language. If you think that one of these languages is perfect and the other is lame, this article is not for you! This article is for those who take a more pragmatic approach and use what works best for them. Each language has its strengths and limitations. Personally, I use both languages at work and at home. With time, I have discovered which language is best for which tasks and try to integrate the strengths of each language as much as possible to complete my work quickly. Perl is extremely good at system administration and extensive data processing, among other things. This means, if you want to do some extensive processing on a text report, Perl would be preferable, as it provides handy regular-expression-enabled text comparisons, which make it so much easier to search through a report. Perl also has extensive string manipulation features. Perl, by virtue of being older than PHP and having an extensive community, has thousands of extensions archived in CPAN, which allow one to do virtually anything with the language, conveniently. From XML processing to writing to parallel port devices, CPAN includes everything. CPAN is the reason Perl continues to be useful to a large number of developers to date. Although it is not impossible to do everything described here with PHP and a mixture of other languages, it's simply more convenient with Perl. PHP is extremely good at integration with Web pages and databases. PHP integrates nicely with static HTML Web pages. That's why it's so popular and has had more visibility than Perl in recent years. It has mature support for numerous popular free or non-free databases and supports MS SQL (MSSQL) server better than any other open-source language. From personal experience, I have tried at least two CPAN extensions for Perl to get it to work with an MSSQL installation, but with limited success. However, PHP has seamless support for MSSQL and uses it as natively as MySQL. I was recently involved in a project in which nearly the entire project was in Perl. However, a tiny bit of code needed access to an MSSQL server. I knew how simple it was in PHP to work with MSSQL, and I did not want to go through the pain of setting up my Perl installation for MSSQL. That's why I searched the Internet for a way to integrate both languages in a manner that would allow me to use the best parts of each language and produce a coherent solution. And, I found the PHP::Interpreter CPAN module. PHP::Interpreter was perfect. It enables the complete integration of the two languages to an extent that one starts to believe that both are mere extensions of each other. PHP::Interpreter, as this article shows, allows you to use PHP's mature support for databases and other features natively in Perl, and also to use Integrating PHP and Perl http://0-delivery.acm.org.innopac.lib.ryerson.ca/10.1145/1240000/12... 2 of 6 8/27/2007 7:38 PM Perl's vast number of CPAN modules to extend your PHP programs. According to AnnoCPAN, the module's main function is to encapsulate an embedded PHP5 interpreter. It provides proxy methods (via AUTOLOAD) to all the functions declared in the PHP interpreter, transparent conversion of Perl data types to PHP (and vice versa), and the ability for PHP to call Perl subroutines similarly and access the Perl symbol table. The goal of this package is to construct a transparent bridge for running PHP code and Perl code side by side. To demonstrate the power of this module, we code two examples to show each side of the PHP::Interpreter, integrating Perl with PHP and integrating PHP with Perl. Each example shows areas in which both languages complement each other nicely to produce powerful code. Example 1: Integrating PHP with Perl In the first example, we create an application to monitor failed logins through SSH to our system. SSH often is targeted by script kiddies and malicious users to compromise a system and gain access to it. The script identifies the IPs of the offenders, blocks all incoming packets from using iptables and, finally, logs them in to an MS SQL server database. We use Perl to do what it's best at -processing log files. It will continuously monitor the /var/log/messages file, which the SSH daemon uses to log failed login attempts. To monitor a log file continuously, we use the CPAN extension File::Tail. To support writing to MS SQL Server transparently, we implement this portion in PHP and show how the two languages can be integrated seamlessly and used in scenarios where both complement each other. Setting Up PHP::Interpreter Setting up PHP::Interpreter is basically a standard Perl module installation procedure. You can get it from http://search.cpan.org/dist/PHP-Interpreter. Unpack it, and create the Makefile:" @default.
- W47418460 created "2016-06-24" @default.
- W47418460 creator A5007559215 @default.
- W47418460 date "2007-02-01" @default.
- W47418460 modified "2023-09-26" @default.
- W47418460 title "Integrating php and perl" @default.
- W47418460 hasPublicationYear "2007" @default.
- W47418460 type Work @default.
- W47418460 sameAs 47418460 @default.
- W47418460 citedByCount "0" @default.
- W47418460 crossrefType "journal-article" @default.
- W47418460 hasAuthorship W47418460A5007559215 @default.
- W47418460 hasConcept C121329065 @default.
- W47418460 hasConcept C136764020 @default.
- W47418460 hasConcept C199360897 @default.
- W47418460 hasConcept C2777002779 @default.
- W47418460 hasConcept C41008148 @default.
- W47418460 hasConceptScore W47418460C121329065 @default.
- W47418460 hasConceptScore W47418460C136764020 @default.
- W47418460 hasConceptScore W47418460C199360897 @default.
- W47418460 hasConceptScore W47418460C2777002779 @default.
- W47418460 hasConceptScore W47418460C41008148 @default.
- W47418460 hasIssue "154" @default.
- W47418460 hasLocation W474184601 @default.
- W47418460 hasOpenAccess W47418460 @default.
- W47418460 hasPrimaryLocation W474184601 @default.
- W47418460 hasRelatedWork W1432037690 @default.
- W47418460 hasRelatedWork W1514673315 @default.
- W47418460 hasRelatedWork W1637785964 @default.
- W47418460 hasRelatedWork W198059675 @default.
- W47418460 hasRelatedWork W21178272 @default.
- W47418460 hasRelatedWork W2132932188 @default.
- W47418460 hasRelatedWork W2291671516 @default.
- W47418460 hasRelatedWork W2413546565 @default.
- W47418460 hasRelatedWork W2479640838 @default.
- W47418460 hasRelatedWork W2484056146 @default.
- W47418460 hasRelatedWork W2497187715 @default.
- W47418460 hasRelatedWork W2613201270 @default.
- W47418460 hasRelatedWork W2620005606 @default.
- W47418460 hasRelatedWork W2883455380 @default.
- W47418460 hasRelatedWork W30399282 @default.
- W47418460 hasRelatedWork W589158196 @default.
- W47418460 hasRelatedWork W745807645 @default.
- W47418460 hasRelatedWork W7623014 @default.
- W47418460 hasRelatedWork W928923948 @default.
- W47418460 hasRelatedWork W2196836641 @default.
- W47418460 hasVolume "2007" @default.
- W47418460 isParatext "false" @default.
- W47418460 isRetracted "false" @default.
- W47418460 magId "47418460" @default.
- W47418460 workType "article" @default.