#! perl use strict; use warnings; use feature qw/ say /; use Carp qw/ croak confess /; use Data::Dumper; use Time::HiRes qw( gettimeofday ); my %To_Send = ( '010_LI_VN_Mode' => '00100011', # 8 bit '020_Stratum' => '0', # 8 bit '030_Poll' => '0', # 8 bit '040_Precision' => '0', # 8 bit '050_Root_Delay' => '0', # 32 bit '060_Dispersion' => '0', # 32 bit '070_Reference_Identifier' => '0', # 32 bit '090_Reference_Timestamp_Sec' => '0', # 32 bit '100_Reference_Timestamp_Micro_Sec' => '0', # 32 bit '110_Originate_Timestamp_Sec' => '0', # 32 bit '120_Originate_Timestamp_Micro_Sec' => '0', # 32 bit '130_Receive_Timestamp_Sec' => '0', # 32 bit '140_Receive_Timestamp_Micro_Sec' => '0', # 32 bit '150_Transmit_Timestamp_Sec' => '0', # 32 bit '160_Transmit_Timestamp_Micro_Sec' => '0', # 32 bit ); ($To_Send{'150_Transmit_Timestamp_Sec'}, $To_Send{'160_Transmit_Timestamp_Micro_Sec'}) = gettimeofday(); my @Packet; push (@Packet, $To_Send{ $_ }) for (sort { $a cmp $b } keys %To_Send); say Dumper \@Packet; __END__ #### $VAR1 = [ '00100011', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', 1437584624, 585058 ];