J'essaie juste d'apprendre un peu de Perl, donc je passe par une fonction juste pour avoir une bonne compréhension de la langue. Quelqu'un pourrait-il m'expliquer ce que cette fonction fait exactement?Que fait cette fonction Perl?
#! /usr/bin/perl
use strict;
my %hash;
&Parse('first.txt');
&Parse('second.txt');
my $outputpath = 'output.txt';
unlink ($outputpath);
open (OUTPUT, ">>$outputpath") || die "Failed to open OUTPUT ($outputpath) - $!";
print OUTPUT "$_ \t" . join("\t", @{$hash{$_}}) . "\n" foreach (sort keys %hash);
close (OUTPUT) || die "Failed to close OUTPUT ($outputpath) - $!";
sub Parse {
my $inputpath = shift;
open (INPUT, "<$inputpath") || die "Failed to open INPUT ($inputpath) - $!";
while (<INPUT>) {
chomp;
my @row = split(/\t/, $_);
my $col1 = $row[0];
shift @row;
push(@{$hash{$col1}}, @row);
}
close (INPUT) || die "Failed to close INPUT ($inputpath) - $!";
return 1;
}
Je suis plus intéressé par shift
et push
et chomp
.
http://p3rl.org/shift http://p3rl.org/push http://p3rl.org/chomp – daxim
@Svante: pour éviter les commentaires inutiles comme celui que vous avez posté ci-dessus. Comment cela aide-t-il le PO? Peut-être qu'il ne peut pas trouver le manuel, ou ne peut pas trouver où dans le manuel pour regarder. – Konerak
Je suppose qu'on peut dériver de ce que quatre lettres j'avais posté. :) – Svante