use integer; my @datetime = localtime(); my $year = $datetime[5]+1900; my $timezone = 1; my $port = 80; my @address=(192,168,0,42); my @data = ( (0) x 39 ); if($timezone < 0 ) { $data[8] = 255 + $timezone - 1; @data[9,10,11] = ( 255,255,255 ); } else { $data[8] = $timezone; @data[9,10,11] = ( 0,0,0 ); } $data[12] = $year & 255; $data[13] = $year >> 8; $data[14] = $datetime[1]; $data[15] = $datetime[2]; $data[16] = int(substr($year,2)); $data[17] = $datetime[6]; $data[18] = $datetime[3]; $data[19] = $datetime[4]+1; $data[24] = int($address[0]); $data[25] = int($address[1]); $data[26] = int($address[2]); $data[27] = int($address[3]); $data[28] = $port & 255; $data[29] = $port >> 8; $data[38] = 6; my $packet = pack('C*',@data);