📄 convert.pl
字号:
use strict;binmode STDOUT, ":utf8";open FILE, "<:utf8", '/tmp/fr_ru_dic/french_audio.utf8';#open FILE, "<:utf8", '/tmp/fr_popova_utf8.txt';my @lines=<FILE>;my %d = ();foreach my $i (@lines) { chomp($i); $i =~ s/"/'/g; if ($i =~ m/^([^\t]+)\t+([^\t]+)\t+([^\t]+)$/) { my ($word, $def, $k) = ($1, $2, $3); if (defined($d{$k})) { my $listref = $d{$k}; push @{$listref}, [$word, $def]; } else { my $listref = []; push @{$listref}, [$word, $def]; $d{$k} = $listref; } } else { if ($i =~ m/^([^\t]+)\t+([^\t]+)\t*$/) { my $k = 'All'; my ($word, $def) = ($1, $2); if (defined($d{$k})) { my $listref = $d{$k}; push @{$listref}, [$word, $def]; } else { my $listref = []; push @{$listref}, [$word, $def]; $d{$k} = $listref; } } }}#print keys %d;#exit 0;print '<?xml version="1.0" encoding="UTF-8" standalone="no"?>', "\n";foreach my $k (keys %d) { printf "<Category name=\"%s\">\n<Deck>\n", $k; map { my @l = @$_; map { printf "<Card AmountLearnedBack=\"0\" AmountLearnedFront=\"0\" Backside=\"%s\" DateCreated=\"27-May-2008 16:14:30\" DateExpired=\"28-May-2008 17:00:46\" DateModified=\"27-May-2008 16:14:30\" DateTested=\"27-May-2008 17:00:46\" DateTouched=\"27-May-2008 17:00:55\" Frontside=\"%s\" TestsHit=\"1\" TestsTotal=\"1\">\n<Side/>\n<Side/>\n</Card>\n", $_->[1], $_->[0]; } @l; } $d{$k}; printf "</Deck>\n</Category>\n";}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -