Tôi đang tạo một tập lệnh Perl cần đọc và nhận các giá trị của tệp INI.Perl: Lặp lại thông qua các tệp INI
INI File Format:
[name]
Property=value
Ví dụ:
[switch_6500]
cpu=1.5.1.12.4
free_memory=1.45.32.16
[oracle_db_11g]
param1=value1
param2=value2
param3=value3
param4=value4
...
Như bạn có thể thấy, có thể được bất kỳ số lượng các bộ phận, có chứa bất kỳ số lượng các tham số. Tên của các tên/thông số phần sẽ luôn khác nhau.
Những gì tôi cần làm là tập lệnh Perl của tôi lặp qua từng phần và lấy tất cả tên/giá trị tham số của phần đó. Những gì tôi đang sử dụng để làm với các tập tin INI chỉ đơn giản là xác định tên phần cùng với tên của tham số như thế này:
#!/usr/bin/perl -w
use strict;
use warnings;
use Config::Tiny;
# Read the configuration file
my $Config = Config::Tiny->new();
$Config = Config::Tiny->read('configfile.ini');
my $Metric1_var = $Config->{switch_6500}->{cpu};
my $Metric2_var = $Config->{switch_6500}->{free_memory};
Tuy nhiên, bây giờ mà tôi có một số lượng không xác định các mục tên/thông số, cũng vì không biết tên của họ, tôi dường như không thể tìm ra cách để trích xuất tất cả các giá trị. Tôi đã nhìn xung quanh mô-đun Config :: IniFiles, và nó có một số công cụ thú vị, nhưng tôi không thể tìm cách để có được một giá trị tham số mà không biết tên phần/tham số.
Nếu có ai có thể giúp tôi với việc lặp qua tệp INI này, nó sẽ được đánh giá cao.
Cảm ơn bạn.
Cảm ơn rất nhiều, đây chính xác là những gì tôi đang tìm kiếm. – user1300922