Solved

Capture external command output line by line on Windows 98

Posted on 2003-11-20
8
319 Views
Last Modified: 2010-03-04
Hello,

I'm trying to Capture external command output and error line by line.
I wrote this example witch work excellent on Windows 2000:

open(PROC,"DIR 2>&1 |");
while(<PROC>) {
      print ("LINE:$_");
}
close(PROC);

But on Windows 98 it don't do nothing!
I'm user perl 5.6.1 activestate 625.

I need to display the output line by line and not all at once
so I can't use system command.

How can I implement it on windows 98 ?
0
Comment
Question by:addady
8 Comments
 
LVL 48

Expert Comment

by:Tintin
ID: 9791749

foreach (<*>) {
  print "LINE: $_";
}
0
 

Author Comment

by:addady
ID: 9796145
Tintin, I don't your answer ?
0
 
LVL 48

Expert Comment

by:Tintin
ID: 9802309
addady.

Did you leave the word "understand" out of your answer?

What I'm suggesting is that instead of relying on an external command to get a directory listing, use the Perl method of doing it for you.  That way your code is a lot more portable.

To invoke the dir command under Win98, I think you'd have to do something like "command.com dir", but that's not very portable, hence the solution I gave you.
0
 

Author Comment

by:addady
ID: 9845092
Please let me rewrite and update my question:

I'm trying to Capture external command output and error line by line.
There is no problem to implement it on windows 2000, but in Windows 98
you need a special shell.
The only shell that I found and it really work with is: stderr.exe*

This code is work fine on w98:

open(PROC,"stderr.exe $some_command |");
while(<PROC>) {
    print ("$_");
}
close(PROC);

But the point is that it fail when I'm specify full path for "stderr.exe"
(becuase I'm exe file using perlapp and --bind don't help)

For example:
open(PROC,"C:/dir_name/stderr.exe $some_command |");
while(<PROC>) {
    print ("$_");
}
close(PROC);

My questions are:
1) why can't I specify full path ?
2) do you know any alternative shell that work on Windows 98 using pipe.



* can be forun in: http://www.teaser.fr/~amajorel/stderr/stderr.txt

0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 
LVL 48

Expert Comment

by:Tintin
ID: 9889455
How about you include the error message to see why it is failing, ie:

open PROC,"C:/dir_name/stderr.exe $some_command |" or die :Can not run stderr.exe because $!\n";
0
 

Author Comment

by:addady
ID: 9892185
Hi Tintin,

It seens the it not "die" .  
There is no error and still the command is not exacuted.
0
 
LVL 20

Expert Comment

by:jmcg
ID: 10093707
Nothing has happened on this question in more than 5 weeks. It's time for cleanup!

My recommendation, which I will post in the Cleanup topic area, is to
PAQ, refund points (good progress, but ultimately unresolved).

PLEASE DO NOT ACCEPT THIS COMMENT AS AN ANSWER!

jmcg
EE Cleanup Volunteer
0
 
LVL 1

Accepted Solution

by:
Computer101 earned 0 total points
ID: 10148148
PAQed, with points refunded (200)

Computer101
E-E Admin
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

On Microsoft Windows, if  when you click or type the name of a .pl file, you get an error "is not recognized as an internal or external command, operable program or batch file", then this means you do not have the .pl file extension associated with …
There are many situations when we need to display the data in sorted order. For example: Student details by name or by rank or by total marks etc. If you are working on data driven based projects then you will use sorting techniques very frequently.…
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…
This Micro Tutorial will give you a basic overview how to record your screen with Microsoft Expression Encoder. This program is still free and open for the public to download. This will be demonstrated using Microsoft Expression Encoder 4.

920 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

11 Experts available now in Live!

Get 1:1 Help Now