0
我有散,看起來像這樣:Perl的哈希
$VAR1 = {
'638047' => {
'commands' => 'perl nSWIFT/bin/tqtest.pl -var clist=',
},
'638049' => {
'commands' => 'perl nSWIFT/bin/tqtest.pl-var clist=',
}
};
我想創建一個目錄,該文件的名稱與哈希值開始,它存儲,使用運行命令生成的數字給出爲perl nswift/bin/tqtest.pl -var clist=
。這些數字應該與他們的密鑰存儲在同一個文件中。例如:
'638047' -> '638050' and '638049' -> '638051'
那麼它應該相應地存儲。
它已經嘗試過,但沒有到達那裏。
my %stat
my @qbsid_filename = keys %stat;
foreach (@qbsid_filename){
open QBS, ">/root/qbsid/$_";
}
my $newqbsid, @files;
opendir (DIREC, '/root/qbsid') or die $!;
foreach my $qbsid (keys %stat){
my $cmd = $stat{$qbsid}->{commands};
if ($cmd =~ m/perl(.*)/){
$ex_cmd = $1;
}
$newqbsid = qx | perl $ex_cmd|;
}
close (DIREC);
我對算法不太好。所以,發現它很困難。 請告訴我,如果我錯了某處或您需要更多信息。謝謝。
什麼是 ' - |'在'打開我的$ qbsid',' - ','$ cmd''語句?謝謝。 – deep
'open my $ fh,' - |',「$ cmd」'是推薦'打開我的$ fh'的方法,$ cmd |「',請查看'perldoc -f open'獲取更多詳細信息。 –
它不工作,因爲它們是哈希引用散列。但是你只是指定它爲一個單一的哈希結構。如果我錯了,請糾正我。謝謝。 – deep