我沒有得到的結果從下面的代碼期望:Perl的打開文件+哈希+編輯
#!/bash/perl
use strict;
use warnings;
my @file;
my $file2;
open (IN, "+</home/opmeitle/labs-perl/numbers");
@file = <IN>;
seek IN,0,0;
my %change = (80.928 => "85.950", 320.000 => "380.500");
my $changekey = join "|", keys %change;
foreach $file2 (@file){
$file2 =~ s/($changekey)/$change{$1}/g;
print IN $file2;}
close IN;
這是/home/opmeitle/labs-perl/numbers
內容:
80.928
320.000
這裏是輸出:
85.950
380.500.000
這裏是我想要的結果:
85.950
380.500
我很感謝你的回答。
luis。
但是,看這個例子,在代碼my%change =(nombre =>「name」,mi =>「my」中爲「Hola,mi nombre es Luis y vivo en Argentina」文件編號改變爲80.928和320.000。 );這是結果「Hola,我的名字es路易斯體育en阿根廷a」到底,一個字更多!因爲?
嗨,我需要,在文件中更改,鍵爲值,哈希 – opmeitle 2012-07-30 04:37:04
您需要粘貼一些樣本從'/ home/opmeitle/labs-perl/numeros' – 2012-07-30 04:39:40
我明白,但你正在閱讀輸入文件,執行一些轉換,然後寫入文件。所以除非我們知道輸入是什麼樣子,否則我們不能很好地解釋你的變換應該如何去獲得所需的輸出。通過粘貼相關輸入來編輯您的問題。 – DavidO 2012-07-30 04:39:45