Update:
I found version 20000216 of Win32::Pipe on roth.net, installed that, and now I'm able to do a vanilla perl file open, but it passes me the same sort of garbage the Win32API::File version was.
I am trying to interpret this as good news for me, but I haven't succeeded yet...
# Vanilla file implementation
open( PIPE, "+<" . $PIPE_NAME )
|| die "couldn't open pipe";
print PIPE "vanilla!\0";
my $result = <PIPE>;
print "Server said [$result]\n";
foreach (split //, $result) {
print "[" . (ord $_) . "]";
}
print "\n";
close PIPE;
Output of the two look like:
Server read: [vanilla! { require $path; };
]
[118][97][110][105][108][108][97][33][0][123]
[32][114][101][113][117][105][114][101][32][36]
[112][97][116][104][59][32][125][59][13][13][10]
and...
Server said [{ require $path; };
]
[123][32][114][101][113][117][105][114][101]
[32][36][112][97][116][104][59][32][125][59][13][10]
(line breaks within the ord dumps inserted for clarity)
Perhaps I'd just fumbled the open call, earlier, when I couldn't get the vanilla file version working.
Clearly, though, I'm getting too many characters. The \0 at the end of my client send was pure desperation--sending a \n doesn't stop it correctly either.
|