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

Recommended Answers

All 3 Replies

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}'"));

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}'"));

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.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.