#!/usr/bin/perl use strict; use warnings; use Benchmark qw( cmpthese ); sub globber { return(( glob '*.xml')[0]); } sub opener { opendir my $dir, '.'; my $file; while (defined($file= readdir $dir)) { last if $file=~ /\.xml$/; } closedir $dir; return $file; } cmpthese(5000, { globber => \&globber, opener => \&opener, });