954,193 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

Execute unix command from perl running on windows

Hi friends,

I am using Perl Tk for a GUI application. It uses a telnet part wherin I need to login to a unix machine, execute a command and process the result.

The code is as follows :

my $result = $t->cmd(("grep - $filename.txt~ | wc -l | awk '{print $1}'"));

I am basically searching for '-" in the $filename.txt~.

The problem i am having is, the result always comes as 1 .. even thou the file does not contain any '-' symbol.
The command runs fine when used directly on unix.

Would appreciate if any one of you can help me out.

Regards,
Alex

alex_wil
Newbie Poster
2 posts since Jan 2007
Reputation Points: 10
Solved Threads: 0
 

maybe you need to use an array instead of a scalar for capturing the reults:

my @result = $t->cmd(("grep - $filename.txt~ | wc -l | awk '{print $1}'"));

KevinADC
Posting Shark
921 posts since Mar 2006
Reputation Points: 246
Solved Threads: 67
 

Hi Kevin,

thanks for your reply. I did try as per what you told me too. but I still get no result.

Regards,
Alex


maybe you need to use an array instead of a scalar for capturing the reults:

my @result = $t->cmd(("grep - $filename.txt~ | wc -l | awk '{print $1}'"));

alex_wil
Newbie Poster
2 posts since Jan 2007
Reputation Points: 10
Solved Threads: 0
 

I'm very new to perl but you can try this
my @result = `grep - $filename.txt~ | wc -l | awk '{print $1}'"`;
that might work for you,
using the backtick which is the character under the tilda will run a system command and return the results back to your program.

Sorry if this doesn't work I"m very new at Perl.

mandible
Newbie Poster
7 posts since Jan 2007
Reputation Points: 10
Solved Threads: 0
 

This article has been dead for over three months

Post: Markdown Syntax: Formatting Help
You