#!/usr/bin/perl use strict; use warnings; my $glob_pattern = shift || './*'; my %files; for ( glob( $glob_pattern )) { $files{$_} = -s _ if ( -e ); } if ( scalar keys %files == 0 ) { warn "No files matched $glob_pattern\nUsage: $0 [path/name*]\n"; exit(1); } my @sorted = sort { $files{$b} <=> $files{$a} } keys %files; printf( "Largest file that matches %s is %s (%d bytes)\n", $glob_pattern, $sorted[0], $files{$sorted[0]} );