The PTK is generated by concatenating the following attributes: PMK, AP nonce (ANonce), STA nonce (SNonce), AP MAC address, and STA MAC address.
You should better check this as the order is important.
####
my $a = "Pairwise key expansion"; # application-specific data
my $b = $amac.$smac.$snonce.$anonce;
my $r = "";
for(my $i=0;$i<4;$i++){
my $data = $a."\x00".$b.$i;
####
DK = PBKDF2(PRF, Password, Salt, c, dkLen)