Utilisateur:KelBot/kbcompare

Une page de Wikipédia, l'encyclopédie libre.

<syntaxhighlight lang="perl">

  1. !/usr/bin/perl

use KelBot; use strict; use Getopt::Long; use List::Compare;

my $pw; my $file1; my $file2; my $mode; my $list1; my $list2; my @results;

GetOptions('file1=s' => \$file1, 'file2=s' => \$file2, 'mode=s' => \$mode);

unless ($file1 && $file2 && $mode) {

  print "usage: ./kbcompare --file1t=first_list --file2=second_list --mode=[only1]\n";
   exit

}

    1. read file

$list1 = read_file($file1); $list2 = read_file($file2);

    1. create the comparator

my $lc = List::Compare->new( {

   lists    => [$list1, $list2],
   unsorted => 1,

} );

    1. make the comparison

if ($mode eq "only1") {

 @results = $lc->get_unique;

}

    1. affiche les résultats

for my $page (@results) {

   print $page."\n";

}

sub read_file() {

   my $file = shift;
   my @list;
   open(FILE, $file);
   while (my $page = <FILE>) {

$page =~ s/\n//; push(@list, $page);

   }
   return \@list;

}