Another crazy idea. > -----Original Message----- > From: McMahon, Chris [mailto:[EMAIL PROTECTED] > Sent: Wednesday, October 22, 2003 3:24 PM > To: [EMAIL PROTECTED] > Subject: help with Very Small Perl? > > > > > Hello... > I am booting a FreeBSD system from the network via PXE. > On that FreeBSD system is Perl 5.005. > I want to use the IO::Socket::INET module in a script on that > system. (But > I'd settle for Socket.pm) > The kicker is that the entire root filesystem must be less > than 50 megs. > The other kicker is that I don't have a 5.005 installation to > copy from. > So I don't have room to install a whole Perl 5.8. I spent a few hours > trying to run my script; copy in the module it failed on; > hack the good code > in that module; repeat: but I eventually lost my mind trying > to find all > the things that IO::Socket::INET requires. > Can anyone suggest either: a way to make IO::Socket::INET work in the > simplest possible way on 5.005; or a way to install the > smallest possible > 5.8; or something I haven't thought of? > Any suggestion (no matter how crazy!) is welcome... > -Chris
I also have 1 system where I cannot upgrade perl, it is 5.001, and I cannot add modules, even locally. So, I used the low level socket routines to write to the remote system like so: use Socket; ... my $port = 50001; socket(SOCK,PF_INET,SOCK_STREAM,getprotobyname('tcp')) or LogAndDie($logF, "Cannot make socket: $!"); my @inet_addr = (192,10,10,10); my $packed_addr = pack('S n C4 x8',PF_INET,$port,@inet_addr); connect(SOCK,$packed_addr) or LogAndDie($logF, "Cannot connect: $!"); no strict "refs"; my $oldfh = select(SOCK); $| = 1; # autoflush the old fashioned way select($oldfh); use strict "refs"; ... print SOCK, "$whatever\n"; This is on a RISC processor, I think you may need to pack differently on Intel, but I'm not sure, I haven't tried it. -Mark -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]