Your code is equivalent to this:
socket(S, "AF_INET", "SOCK_DGRAM", $proto) or die "socket : $!"; setsockopt(S, "SOL_SOCKET", "SO_BROADCAST", 1) or die "setsockopt : $!
The code from the example you quote is this:
socket(S, AF_INET, SOCK_DGRAM, $proto) or die "socket : $!"; setsockopt(S, SOL_SOCKET, SO_BROADCAST, 1) or die "setsockopt : $!
There's one obvious difference between the two. Your code passes strings to the functions. The example code passes values which have been defined as numeric constants (in Socket.pm). If they aren't defined correctly in your Socket.pm (as your bareword error might indicate) then it's possible that your Perl installation might be broken.
So yes, you can use this code with "use strict" but you need to define your variables correctly.
my $Domain = AF_INET; my $Type = SOCK_DGRAM; my $Level = SOL_SOCKET; my $Optname = SO_BROADCAST;
I was also looking for the manual entry for setsockopt(2) (as alluded to on page 785 of the "Programming Perl" book but am unable to locate it on any of our servers (the powers that be probably thought these man pages took up too much room) is this documentation available on the net?
Why not ask Google?
"The first rule of Perl club is you do not talk about
Perl club."
-- Chip Salzenberg
In reply to Re: Can you use setsockopt with the strict pragma?
by davorg
in thread Can you use setsockopt with the strict pragma?
by ronniec
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |