我将不得不(作为练习)编写一个 perl 程序,它检查文本文件中是否存在相同的单词,然后将它们打印到一个新文件中(没有双打)。
有人可以帮我吗。我知道使用 am// 函数可以查找单词,但是如何查找我可能不知道的单词呢?例如:如果文本文件有:
你好,你好,你好吗? 我可能希望将此文件复制到没有“Hello”之一的新文件中。当然,我不会知道文件中是否有任何重复的单词......这就是程序搜索重复单词的想法。
我有一个按字母顺序对单词进行排序的基本脚本,但是查找重复单词的第 2 步……我不知道。这是脚本(希望到目前为止是正确的):
#!/usr/bin/perl
use strict;
use warnings;
my $source = shift(@ARGV);
my $cible = shift(@ARGV);
open (SOURCE, '<', $source) or die ("Can't open $source\n");
open (CIBLE, '>', $cible) or die ("Can't open $cible\n");
my @lignes = <SOURCE>;
my @lignes_sorted = sort (@lignes);
print CIBLE @lignes_sorted;
chomp @lignes;
chomp @lignes_sorted;
print "Original text : @lignes\n";
sleep (1);
print "Sorted text : @lignes_sorted\n";
close(SOURCE);
close (CIBLE);