Jump to content

Secure temporary file: Difference between revisions

Rename Perl 6 -> Raku, alphabetize, minor clean-up
mNo edit summary
(Rename Perl 6 -> Raku, alphabetize, minor clean-up)
Line 439:
print $fh->filename, "\n";
close $fh;</lang>
 
=={{header|Perl 6}}==
{{works with|Rakudo|2017.09}}
This is something best done with a module which is heavily tested, tries to account for all corner cases and automatically cleans up after itself.
 
Almost verbatim from the synopsis:
<lang perl6>use File::Temp;
 
# Generate a temp file in a temp dir
my ($filename0,$filehandle0) = tempfile;
 
# specify a template for the filename
# * are replaced with random characters
my ($filename1,$filehandle1) = tempfile("******");
 
# Automatically unlink files at DESTROY (this is the default)
my ($filename2,$filehandle2) = tempfile("******", :unlink);
 
# Specify the directory where the tempfile will be created
my ($filename3,$filehandle3) = tempfile(:tempdir("/path/to/my/dir"));
 
# don't unlink this one
my ($filename4,$filehandle4) = tempfile(:tempdir('.'), :!unlink);
 
# specify a prefix, a suffix, or both for the filename
my ($filename5,$filehandle5) = tempfile(:prefix('foo'), :suffix(".txt"));</lang>
 
=={{header|Phix}}==
Line 582 ⟶ 556:
(make-temporary-file)
</lang>
 
=={{header|Perl 6Raku}}==
(formerly Perl 6)
{{works with|Rakudo|2017.09}}
This is something best done with a module which is heavily tested, tries to account for all corner cases and automatically cleans up after itself.
 
Almost verbatim from the synopsis:
<lang perl6>use File::Temp;
 
# Generate a temp file in a temp dir
my ($filename0,$filehandle0) = tempfile;
 
# specify a template for the filename
# * are replaced with random characters
my ($filename1,$filehandle1) = tempfile("******");
 
# Automatically unlink files at DESTROY (this is the default)
my ($filename2,$filehandle2) = tempfile("******", :unlink);
 
# Specify the directory where the tempfile will be created
my ($filename3,$filehandle3) = tempfile(:tempdir("/path/to/my/dir"));
 
# don't unlink this one
my ($filename4,$filehandle4) = tempfile(:tempdir('.'), :!unlink);
 
# specify a prefix, a suffix, or both for the filename
my ($filename5,$filehandle5) = tempfile(:prefix('foo'), :suffix(".txt"));</lang>
 
=={{header|Ruby}}==
Line 630 ⟶ 631:
<lang Tcl>set chan [file tempfile filenameVar]</lang>
Note that because we're asking for the filename in the script, Tcl does not automatically clean the file. (There are cases where auto-cleaning would be really unwanted.) If we hadn't asked for it, the file would be automatically deleted (at a time that depends on platform constraints).
 
=={{header|TUSCRIPT}}==
<lang tuscript>
10,333

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.