use File::HomeDir; my $home_dir = File::HomeDir->my_home; my $data_file = "$home_dir/api_data.json"; if (! -e $data_file || time() - (stat($data_file))[9] > 600) { # File doesn't exist or is older than 10 minutes ...get/update the file } ...do stuff with file