Solved

.ASP calling Perl SSI

Posted on 2003-10-22
14
1,035 Views
Last Modified: 2007-12-19
I have a very complex Server Side Perl script stored in a file called "complex.pl".

I have a very simple Active Server Page (Server Side) called "helloworld.asp".

I run both on IIS 5.

I want my ASP to call my Perl script. I want both to be server side interpetted, ran, and then rendered.

I'm only getting as far as getting my ASP ran by the server, but the SSI command executing the Perl Script being printed in my output view source.

For instance, my source looks like this:

<%
response.write "Hello. Here is the output of my complex script below:<p>" & vbcrlf
%>
<!--#exec cgi="/cgi-bin/complex.pl"-->

Any my redered "view source" looks like this:

Hello. Here is the output of my complex script below:
<!--#exec cgi="/cgi-bin/complex.pl"-->

What's wrong here?

stephen@ufoundme.com
0
Comment
Question by:KennedyStephen
  • 9
14 Comments
 
LVL 15

Expert Comment

by:periwinkle
ID: 9602551
I'm not convinced that this will work.  The ASP will be parsed by the ASP parser/interpretter, not the Perl one...
0
 
LVL 15

Expert Comment

by:periwinkle
ID: 9602574
A little more detail on this thought - server side includes will not function, for instance, in the output of a Perl CGI Script.  This is because the Perl/CGI interpretter is producing the results, and the page produced is  not 'reparsed' by the server parser that interprets the server side includes.

I would expect that this would work in a similar fashion - that the ASP parser won't reparse the output of the ASP program.  

Instead, if this can be done, I would expect that you would need to call the Perl program from within the ASP code.
0
 
LVL 15

Expert Comment

by:periwinkle
ID: 9602598
Ah, I found the answer in the O'Reilly book 'ASP in a Nutshell'.  Only the #include directive is allowed in both HTML and ASP pages.
0
 
LVL 15

Expert Comment

by:periwinkle
ID: 9602652
Here's different thought - what about including an ASP script and a Perl script within a .shtml file, like:

<!-- #exec cgi="/cgi-bin/perscript.pl" -->
<!-- #exec cgi="/aspscript.asp"-->
0
 
LVL 15

Expert Comment

by:periwinkle
ID: 9602717
Hmmm - here's some more promising information.  Are you on a server that uses ActiveState's ActivePerl?  Then you can do perl from within ASP:

http://aspn.activestate.com/ASPN/docs/ActivePerl/Windows/ActiveServerPages.html
0
Free Trending Threat Insights Every Day

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

 

Author Comment

by:KennedyStephen
ID: 9603306
Wow. Thank you for a quick response! I really appreciate your help. I thank you so much.

I'm beginning to think this IS impossible.

We do use ActivePerl. But those instructions on the link you provided use a "special form" of Perl built inside an ASP. The "special form" of Perl is not very friendly and cannot produce the same results as my "complex" Perl script. I am looking to run a "normal" Perl script in an ASP.

Also, I pass FORM VARIABLES from one .ASP to another. When I build the .ASP inside the .SHTML I lose my ability to use the FORM VARIABLES that get passed from one .ASP to another.

This seems like something one SHOULD be able to do very easily. I couldn't imagine how hard this was going to be.
0
 
LVL 15

Expert Comment

by:periwinkle
ID: 9603450
You'd think it would be easy, but I haven't yet found any evidence that an external program can be run and return results to the asp one....

0
 
LVL 15

Expert Comment

by:periwinkle
ID: 9603472
Hmmm - could you use PerlScript to execute an external program?  I.e. can you do this:

$somevariable = `perl /path/to/program/yourscript.pl`;

or

system('perl /path/to/program/yourscript.pl');

or the like?
0
 
LVL 15

Expert Comment

by:periwinkle
ID: 9603521
Here's more on that idea:

AspExec™ - allows you to execute DOS and Windows apps. DOS programs which return results via stdio can be executed and the results are returned as a string. You can optionally set a timeout to wait for either Dos or Windows applications.

http://www.serverobjects.com/products.htm#free

(found this through the following conversations:

http://forums.aspfree.com/t9647/se87d57f437c46c352a7c2309633ba99f.html
http://www.aspfaqs.com/aspfaqs/ShowFAQ.asp?FAQID=67
 
which also mentions that there is a Microsoft-supplied component, "WScript.WShell" that you can use to do this, like:

Dim oShell, myShell
Set oShell = Server.CreateObject ("WScript.Shell")
oshell.run "command"

0
 
LVL 4

Accepted Solution

by:
hamidovt earned 30 total points
ID: 9605133
you can not run PERL in ASP,
but you can use frame/iframe in ASP page where you refer to perl file.

That is what I do when have some perl pages and I am too lazy to rewrite it in ASP or it is too difficult to make it in ASP
0
 
LVL 15

Expert Comment

by:periwinkle
ID: 11785614
PashaMod - I think that hamidovt  has the answer - i.e. that it really can't be done.
0

Featured Post

Top 6 Sources for Identifying Threat Actor TTPs

Understanding your enemy is essential. These six sources will help you identify the most popular threat actor tactics, techniques, and procedures (TTPs).

Join & Write a Comment

Why do we like using grid based layouts in website design? Let's look at the live examples of websites and compare them to grid based WordPress themes.
Although it can be difficult to imagine, someday your child will have a career of his or her own. He or she will likely start a family, buy a home and start having their own children. So, while being a kid is still extremely important, it’s also …
The viewer will learn how to create and use a small PHP class to apply a watermark to an image. This video shows the viewer the setup for the PHP watermark as well as important coding language. Continue to Part 2 to learn the core code used in creat…
This tutorial will teach you the core code needed to finalize the addition of a watermark to your image. The viewer will use a small PHP class to learn and create a watermark.

760 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

21 Experts available now in Live!

Get 1:1 Help Now