0

特定のハッシュキーを見つけてそのソースを置き換えるミニプログラムを作成していますが、これを行うには、ハッシュ全体を見つけて、ユーザーが入力した値の新しいハッシュに置き換える必要があります。

私のコードの例。

print "Please input the smile you would like to edit: ";
$EditSmile = <STDIN>;
print "Please input the text you want to change: ";
$EditText = <STDIN>;

open (IN, "< info.pl") || die("Can not open file: $!");

while (<IN>){
    $var1 =~ s/\'$EditSmile\' => "$smileinfo{"$EditSmile"}"/\'$EditSmile\' => "$EditText"/g;
    print $var1;    
}

info.plプログラムに含まれるファイル内のハッシュ値の場所。

4

2 に答える 2

0

おそらくあなたの時間が読むべきです

while ($var1 = <IN>) {
   ...
}
于 2012-04-09T16:10:19.693 に答える
0

上記でEtherが提案したように、別のオプションは、plファイルを「実行」し、ハッシュを直接変更することです。

my $hash = do "info.pl";
if (exists($hash->{$EditSmile})) {
    $hash->{$EditSmile} = $EditText;
}
use Data::Dumper;
print Dumper($hash);
于 2012-04-09T16:43:14.343 に答える