2
my %colorfigshash =();
my $tempcnt = <DATA>;
while($tempcnt=~m/Placement of Figure (?:[^\{]*)\{([^\{\}]*)\} Page ([^\n]*)\n/sg)
{
$colorfigshash{$1} = $2;
}
use Data::Dumper;
print Dumper \%colorfigshash;
__DATA__
Placement of Figure \hbox {10.7} Page 216
Pages in Color: 216
Placement of Figure \hbox {10.7} Page 217
Pages in Color: 217
Stromausgang:In Hashes Taste, um den Wert in den vorherigen Schlüssel in Perl-Skript dupliziert beitreten
$VAR1 = {
'10.7' => '216'
};
Erwartete Ausgabe
$VAR1 = {
'10.7' => '216-217'
};
Wie können wir die Werte mit vorherigen, wenn die fusionieren Schlüssel werden dupliziert. Wenn die Schlüssel den letzten in der Hash-Tabelle gespeicherten Wert dupliziert haben. Jeder könnte einen Weg zu lösen geben, auch das wäre willkommen.
Ist das nicht Ihre aktuelle Ausgabe '10.7' =>‚217'? – xxfelixxx
'$ VAR1 = { '10 .7 '=>' 216 ' };' – ssr1012
Die Strategie besteht darin, die Werte auf ein mit' $ 1 'indiziertes Array zu übertragen. Dann können Sie die Werte im Array verarbeiten, um eine freundlichere Zeichenfolge zu erzeugen. Sie können @ {$ colorfigshash {$ 1}}, $ 2; 'drücken – xxfelixxx