. . . use CGI; my $template = new CGI; . . . sub storeSheet { my ($sheet, $file, $data) = @_; my ($path, $filename); my $storagePath = "/www/htdocs/documents/activity_sheets/"; # Here we extract the filename and file $path = $template->param($sheet); $path =~ m!([^/:\\]*)$!; # capture filename $filename = $1; no strict 'refs'; # $filename is a symbolic reference open (SHEET, ">${storagePath}OSEN${filename}") || die "Can't open $filename: $!\n"; while (read($path, $data, 1024)) { print SHEET $data; } close SHEET; use strict 'refs'; }