#!/usr/bin/perl

# Una possibile soluzione all'Esercizio 2 (non l'unica!)

use strict;
use warnings;

my @env_variables = `env`;

for (@env_variables) {
    chomp;
    if (/^PATH=(.+)$/) {
        
        my $total_sum = 0;
        for (split(':', $1)) {
            my $directory_sum = 0;

            my @ls_l = `ls -l $_ 2>&1`;
            for (@ls_l) {
                if(/^[\w-]{10}\s\d\s.+?\s+.+?\s+(\d+)/) { # regex in versione semplificata (comunque è estremamente improbabile che ci sia un messaggio di errore con un simile 'pattern')
                    $directory_sum += $1;
                }
            }

            print $_, " : ", $directory_sum, " bytes\n";

            $total_sum += $directory_sum;
        }

        print "TOTALE : ", $total_sum, " bytes\n";
        
        last; # Sappiamo che c'è una sola variabile PATH nel risultato del comando "env" (perché continene coppie chiave-valore)
    }
}
