#!/usr/bin/php $asns) { echo "$rir: Step 2 - Analyze address ranges and write ASN blocks\n"; $rir = strtolower($rir); $f = fopen(DIR . "/out/asn_{$rir}.new", 'w'); $start = null; knatsort($asns); foreach ($asns as $asn => $dummy) { if (is_null($start)) { $start = $asn; } else { if ($prev+1 != $asn) { $ende = $prev; if ($start == $ende) { fwrite($f, "AS$start\n"); } else { fwrite($f, "AS$start-AS$ende\n"); } $start = $asn; } } $prev = $asn; } fclose($f); rename(DIR . "/out/asn_{$rir}.new", DIR . "/out/asn_{$rir}"); $written_files[] = DIR . "/out/asn_{$rir}"; } $all_files = glob(DIR . "/out/asn_*"); foreach ($all_files as $file) { if (!in_array($file, $written_files)) { unlink($file); echo "Deleted because not touched: $file\n"; } } echo "Finished!\n"; # --- function knatsort(&$arr){return uksort($arr,function($a, $b){return strnatcmp($a,$b);});}