Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
PerlMonks  

XEmacs printing script

by macguges (Initiate)
on Feb 10, 2001 at 04:06 UTC ( #57526=sourcecode: print w/replies, xml ) Need Help??
Category: Win32 Stuff
Author/Contact Info Mithras MacGuges, mithras@dhp.com
Description: Got XEmacs? Got Windows NT (or its evil twin, Windows 2000?) Got a line printer daemon (somewhere, lurking near a printer)?

Then this script is for you. Explore the wonders of printing from your favorite editor, even under Windows.

(Cygwin environment may be necessary, and is a nifty idea anyway. Your lpd's IP & printer queue name may differ.)

#!/bin/perl

# I wrote this script to enable printing from XEmacs, which expects 
# a printing command which accepts text from *standard input*.

# So, this script reads the standard input, diverts it to a file,
# then calls Windows NT lpr with this file and any options given
# on the command line.

my $command = "lpr";

srand;  # seeds the random number generator

# lpr expects interprets its arguments in the DOS context, taking back
+slashes
$filestub = "\\tmp\\lp".(time%10000).".";
do {
    $filename = $filestub.int(rand(1000));
} while (-e $filename);

open SLURP, ">$filename";
print SLURP <STDIN>;   # put everything from stdin into this file
close SLURP;

my @args = ($command, @ARGV, $filename);
system(@args) == 0
    or die "system @args failed: $?";

unlink $filename;
Replies are listed 'Best First'.
Re: XEmacs printing script
by AgentM (Curate) on Feb 10, 2001 at 04:29 UTC
Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: sourcecode [id://57526]
help
Chatterbox?
[shmem]: otherwise fine
[Discipulus]: tozzetti & vinsanto
[Lady_Aleena]: The whole line is push @line, ref($list_addition ) ? @$list_addition : $list_addition if $list_addition;
[Lady_Aleena]: And I forgot to do the array check, I'm such a doofus today.
[Lady_Aleena]: push @line, ref($list_addition ) eq 'ARRAY' ? @$list_addition : $list_addition if $list_addition; #trying again
[shmem]: Discipulus: yummy. I like those. Didn't have them for some time now, forgot the name. Should go get some...
[shmem]: Lasy_Aleena: correct, although for clarity I'd use an if() block, not a statement modifier
[shmem]: this allows you to add an else if maintainance makes it neccesary
[Lady_Aleena]: shmem, okeydokey.

How do I use this? | Other CB clients
Other Users?
Others cooling their heels in the Monastery: (8)
As of 2017-04-27 11:49 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    I'm a fool:











    Results (504 votes). Check out past polls.