David Vergin wrote:
I'm adapting a working linux program to cygwin. The process has been relatively painless except for this issue which has delayed me way past deadline.

I need to output text and printer codes (which may include \000) from a perl program to a printer which may be on a parallel port or a USB port. In the past I have done this on linux using something like the following.

    system(qq/echo -en "$data_str" | lpr -oraw/);
    ...or whatever

That does not work in cygwin. It would work. But on cygwin echo behaves differently in a perl system() command from the way it works from the bash command line.

Why would want use echo for this? Just use a piped open directly to lpr:

    open(FH, '| lpr -oraw');
    print(FH, $data_str);
    close(FH);

(Error handling left as an exercise to the reader...)

See also: http://www.google.com/search?q=perl+piped+open

--
/Lasse


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

Reply via email to