quick perl question

oyuriyu

Если есть строка вида "раз два три" как из неё сделать хэш "(раз два)=>три" ?

oyuriyu

Так пойдёт:

my @tmp;
my $name1, $name2, $result;
my $pair;
@tmp = split(/ /, $_);
$name1 = @tmp[0];
$name2 = @tmp[1];
$result = @tmp[2];
$pair = $name1." ".$name2;
//add this result into the hash
$RESULTS{ $pair } = $result;
?

sakura

В принципе пойдет. Только можно покороче написать. Типа такого:
$_ = 'one two three';
my($name1, $name2, $result) = split / /;
$RESULTS{$name1.' '.$name2} = $result;

Или такого:
$_ = 'one two three';
(/(\S+\s+\S+)\s+(\S+)/) and ($RESULTS{$1} = $2);

oyuriyu

спасибо
Оставить комментарий
Имя или ник:
Комментарий: