From e44d4fc88013f9ad09186ce3cfc73d93829103d2 Mon Sep 17 00:00:00 2001 From: b Date: Wed, 5 Jul 2023 22:47:22 +0000 Subject: [PATCH] write post data file --- botm_common.pm | 42 ++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 40 insertions(+), 2 deletions(-) diff --git a/botm_common.pm b/botm_common.pm index 9ddb13d..cda92b6 100644 --- a/botm_common.pm +++ b/botm_common.pm @@ -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; +} ################### -- 2.30.2