#!/usr/bin/env perl use strict; use warnings; my @oses = qw(macos windows shell unix jar); my $osinstallers = {}; while(my $line = ) { chomp $line; $line =~ s/#.*//; my ($id, $os, $name, $file) = split(m/\t/, $line); next unless $id and $os and $name and $file and (-e $file); my $size = -s $file; my $mbsize; if ($size > 0) { $mbsize = sprintf("%.1f",$size/(2**20)); } if ($name =~ m/\bShell\b/) { $os = "shell"; } if ($file =~ m/(NETWORK|OFFLINE)/) { my $type = $1; $osinstallers->{$os} = {} unless ref($osinstallers->{$os}) eq "HASH"; $osinstallers->{$os}{$type} = { os => $os, name => $name, file => $file, size => $mbsize }; } }