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

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.