-2

现在假设说我在文件中有这一行:

my %address = (

或我在其中定义了哈希的任何类似行。

我想在行中找到字符“(”并将“地址”存储在 $hash_name 中。我该怎么做?

基本思想是捕获文件中定义的哈希的名称。

我想做的是,

foreach $line <MYFILE> {
  if($line =~ /($/ {

我该如何进一步进行?

4

2 回答 2

2

不确定我是否理解您的问题,但是,如何:

my %hash;
while (my $line = <MYFILE>) {
    if ($line =~ /\%(\w+)\s*=\s*\($/) {
        $hash{$1} = 1;
    }
}
于 2013-04-22T10:59:17.593 回答
-2
open (F1,"inputfile.txt") or die("unable to open inputfile.txt");
my $hash_name
    while (<F1>) {
        if (/%(\w+) *= *\(/) {
            $hash_name = $1;
            print $hash_name;
        }
    }
于 2013-04-22T11:07:17.007 回答