Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid

Coding CTRL-D

by Anonymous Monk
on Jul 05, 2000 at 17:53 UTC ( #21127=perlquestion: print w/replies, xml ) Need Help??

Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question: (programs and processes)

I have made a small script to pop up a message on the screen after an event, but I cannot code the CTRL-D command so it won't work.
!#/usr/bin/perl `smbclient -M victimname'; echo `message is sent to you`; echo `CTRL-D`;
I have tried numerous fixes and searched the web to no avail. Many thanks, M@.F

Originally posted as a Categorized Question.

Replies are listed 'Best First'.
Re: Coding CTRL-D
by athomason (Curate) on Jul 06, 2000 at 09:38 UTC
    <CTRL-D> can be displayed, printed, sent, or whatever by chr(4). However, this won't fix your script, since 1) echo isn't a Perl command, 2) if it were, it wouldn't print to smbclient, which I assume you're trying to do, and 3) you shouldn't need to send a <CTRL-D> if you do IPC the right way. You need something like

    !#/usr/bin/perl -w use strict; my ($victim, $message) = ("joe", "bloop"); # open an output pipe to the external program open SMB, "| smbclient -M $victim"; # print on the pipe's handle print SMB $message; # close the handle, which implicitly sends an EOF close SMB;

    Hope that helps.

Re: Coding CTRL-D
by Anonymous Monk on Jul 05, 2000 at 22:19 UTC
    try this: #!/usr/bin/perl #other stuff print pack("c", 04"); # c is for signed character value, and 04 is control-d, aka, EndOfTransmission.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://21127]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (3)
As of 2021-04-18 20:11 GMT
Find Nodes?
    Voting Booth?

    No recent polls found