]> bicyclesonthemoon.info Git - botm/common-perl/commitdiff
write post data file v1.0.14
authorb <rowerynaksiezycu@gmail.com>
Wed, 5 Jul 2023 22:47:22 +0000 (22:47 +0000)
committerb <rowerynaksiezycu@gmail.com>
Wed, 5 Jul 2023 22:47:22 +0000 (22:47 +0000)
botm_common.pm

index 9ddb13d75abfdf3fa3948b1c8a1ab210ea40361c..cda92b6d59802ade880e03aebf44bd87774329c1 100644 (file)
@@ -25,11 +25,11 @@ use Encode ('encode', 'decode');
 
 use Exporter;
 
-our $VERSION     = '1.0.13';
+our $VERSION     = '1.0.14';
 our @ISA         = qw(Exporter);
 our @EXPORT      = ();
 our @EXPORT_OK   = (
-       'read_data_file', 'write_data_file',
+       'read_data_file', 'write_data_file', 'write_postdata_file',
        'read_header_file',
        'url_encode', 'url_decode',
        'url_query_encode', 'url_query_decode',
@@ -316,6 +316,44 @@ sub write_data_file {
        return 1;
 }
 
+# todo text
+sub write_postdata_file {
+       (my $file, my $encoding_file, my $encoding_data, my $data) = @_;
+       my $fh;
+       
+       if ($encoding_file eq '') {
+               $encoding_file = 'UTF-8';
+       }
+       
+       # check if $file is actually a path or maybe a filehandle
+       # filehandles are references.
+       if(ref($file)) {
+               $fh=$file;
+               unless (seek($fh, 0, 0)) {
+                       # return 0;
+               }
+       }
+       else {
+               unless (open ($fh, ">:encoding($encoding_file)", encode('locale_fs', $file))) {
+                       return 0;
+               }
+       }
+       
+       my $data_encoded = url_query_encode($data, $encoding_data);
+       
+       print $fh $data_encoded."\n";
+       
+       # If argument was a path the file must be closed. 
+       unless (ref($file)) {
+               close ($fh);
+       }
+       else {
+               # cut off any remaining old file content,
+               truncate ($fh , tell($fh));
+       }
+       
+       return 1;
+}
 
 
 ###################