X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=txt2xls;h=6ac3a94e3b1978476f706dfd31d0add84d76ec39;hb=3d5241a316e3ff729b19b878b0841558120f75e9;hp=ea2c87bd7dfe4ca08ddc8a3b2c4b9b587d2b9d3a;hpb=74a52a1a4bb4de4d1e70e388771ba9eaad1b543b;p=bin.git diff --git a/txt2xls b/txt2xls index ea2c87b..6ac3a94 100755 --- a/txt2xls +++ b/txt2xls @@ -132,6 +132,11 @@ elsif ($options{ssv}) { $sep_char = ' '; } +if (not @{$options{remove_name}}) { + $options{remove_name} = ['.+\/', + ]; +} + my %wb_formats = (); my $csv = Text::CSV->new({sep_char=>$sep_char}); my $wb = Spreadsheet::WriteExcel->new(\*STDOUT); @@ -142,12 +147,12 @@ for my $file (@ARGV) { $file = "STDIN"; } else { - $fh = IO::File->new($file,'r') or + open($fh,'<:encoding(utf8)',$file) or die "Unable to open $file for reading: $!"; } my $ws_name = $file; foreach my $remove (@{$options{remove_name}}) { - $ws_name =~ s{\Q$remove\E}{}g; + $ws_name =~ s{$remove}{}g; } $ws_name =~ s{\.[^\.]+$}{}g; $ws_name =~ s/_+/ /g; @@ -187,7 +192,7 @@ for my $file (@ARGV) { my $t_ws_name = $ws_name; my $maxlen = 31-length('.'.$overflow); $t_ws_name =~ s{^(.{0,$maxlen}).*$}{$1}; - $ws = $wb->add_worksheet($ws_name.'.'.$overflow); + $ws = $wb->add_worksheet($t_ws_name.'.'.$overflow); $overflow++; $row=1; output_row(\@header_row,$row,$ws,$wb,\%wb_formats,\%options);