]> bicyclesonthemoon.info Git - botm/common-perl/commitdiff
make temp file name
authorb <rowerynaksiezycu@gmail.com>
Tue, 13 Jun 2023 23:05:37 +0000 (23:05 +0000)
committerb <rowerynaksiezycu@gmail.com>
Tue, 13 Jun 2023 23:05:37 +0000 (23:05 +0000)
botm_common.pm

index f2d48ca5f455a35e90f4f6763c154cc459f1c6fd..aa17f8f58da086f68f36882c3715aa9a817d8100 100644 (file)
@@ -18,6 +18,7 @@ package botm_common;
 use strict;
 #use warnings;
 use utf8;
+use feature 'state';
 
 use Encode qw(encode decode);
 
@@ -25,7 +26,7 @@ use Exporter;
 use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
 
 # vX.Y.Z:      X YYYZZZ
-$VERSION     = 1.000009;
+$VERSION     = 1.000010;
 @ISA         = qw(Exporter);
 @EXPORT      = ();
 @EXPORT_OK   = (
@@ -34,7 +35,7 @@ $VERSION     = 1.000009;
        'url_query_encode', 'url_query_decode',
        'split_url', 'join_url', 'merge_url',
        'html_entity_encode_dec', 'html_entity_encode_hex', 'html_entity_encode_name', 'html_entity_decode',
-       'join_path',
+       'join_path', 'make_temp_path'
 );
 %EXPORT_TAGS = ();
 
@@ -67,6 +68,31 @@ sub join_path {
        return $path;
 }
 
+sub make_temp_path {
+       (my $dir, my $basename) = @_;
+       
+       my $filename;
+       my $ext;
+       my $ind = rindex($basename, '.');
+       state $id = 0;
+       
+       if ($ind >= 0) {
+               $filename = substr($basename, 0, $ind);
+               $ext = substr($basename, $ind);
+       }
+       else {
+               $filename = $basename;
+               $ext = '';
+       }
+       if ($filename ne '') {
+               $filename .= '.';
+       }
+       $filename .= $$ . '.' . $id . '.' . time() . $ext;
+       $id++;
+       
+       return join_path('/', $dir, $filename);
+}
+
 
 
 ##################