Solved

How to call a Java code within Perl code if the passing variables are too long?

Posted on 2011-09-13
9
302 Views
Last Modified: 2012-05-12
Hi,
I have a Perl code and I will call my java code within this code.

The problem is; the values that I want to pass to the java code is too long that it is risky to pass them as below:

my $javaCmd = "java -jar $mydir/myTool/".
			 "Tool.jar $login '$List' $id $folder ".
			  "$option1 $option2 $soapEndpointURL";

system($javaCmd);

Open in new window



I heard that I can pipe, but I don't know how to do it?

Can you please let me know how I can do it?
0
Comment
Question by:Tolgar
  • 4
  • 2
  • 2
  • +1
9 Comments
 
LVL 47

Expert Comment

by:for_yan
ID: 36530907
So do you want read the output of your perl program in the subsequent run of the java program?

and you can modify the ocde of both of them - correct?
0
 

Author Comment

by:Tolgar
ID: 36531118
Yes I can modify the both of the code.

The thing that I want is exactly the way I explained in the initial question.

Call java code within perl. this is what I want.

This is the beginning of my java code:

public static void main(java.lang.String args[])

Open in new window


0
 
LVL 28

Accepted Solution

by:
FishMonger earned 500 total points
ID: 36531384
Try the list form of system.

my @javaCmd = ('java', '-jar', "$mydir/myTool/Tool.jar", $login, $List, $id, $folder, $option1, $option2,  $soapEndpointURL);

system( @javaCmd );

Open in new window

0
 
LVL 47

Expert Comment

by:for_yan
ID: 36531501
I think number of paraeters for java program is unlimited, so you should not be worrying
If you are concerned with having too many parameters especially if some of those are multiline text ,
perhaps one iption will be to communicate through the file - that probably would be most stright forward
0
Better Security Awareness With Threat Intelligence

See how one of the leading financial services organizations uses Recorded Future as part of a holistic threat intelligence program to promote security awareness and proactively and efficiently identify threats.

 
LVL 9

Expert Comment

by:parparov
ID: 36531586
If you want to embed Java code in Perl you can use Inline::Java module, but it's not a trivial thing.

http://search.cpan.org/dist/Inline-Java/Java.pod
0
 

Author Comment

by:Tolgar
ID: 36538153
Actually, I found out what I need  to do. I need to pass all the arguments using @args just like in C.

so it will be something like:

system @args

Open in new window


But I need a concrete example how I can use it, preferably with some descriptive comments.

Thanks,

0
 

Author Comment

by:Tolgar
ID: 36538172
Note: This will help me not to invoke any shells so I don't need to worry about multi line arguments in the system command.

Thanks,
0
 
LVL 9

Expert Comment

by:parparov
ID: 36538621
Use FishMonger's example. He only called your @args differently.
0
 

Author Comment

by:Tolgar
ID: 36538681
oh. perfect. I missed it.

Thanks,
0

Featured Post

Maximize Your Threat Intelligence Reporting

Reporting is one of the most important and least talked about aspects of a world-class threat intelligence program. Here’s how to do it right.

Join & Write a Comment

Go is an acronym of golang, is a programming language developed Google in 2007. Go is a new language that is mostly in the C family, with significant input from Pascal/Modula/Oberon family. Hence Go arisen as low-level language with fast compilation…
In this post we will learn how to connect and configure Android Device (Smartphone etc.) with Android Studio. After that we will run a simple Hello World Program.
The viewer will learn how to implement Singleton Design Pattern in Java.
Viewers will learn how to properly install Eclipse with the necessary JDK, and will take a look at an introductory Java program. Download Eclipse installation zip file: Extract files from zip file: Download and install JDK 8: Open Eclipse and …

743 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

10 Experts available now in Live!

Get 1:1 Help Now