<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. | [reply] [d/l] [select] |
try this:
#!/usr/bin/perl
#other stuff
print pack("c", 04");
# c is for signed character value, and 04 is control-d, aka, EndOfTransmission.
| [reply] |