use File::Basename; use HTTP::BrowserDetect; fileparse_set_fstype( do { my $browser = HTTP::BrowserDetect->new; return 'MSWin32' if $browser->windows; return 'MacOS' if $browser->mac; $^O; } ); my @file = basename($path, '\.[^\.]*');