我刚刚在将其他人的 API 与默认变量 $_ 结合使用时被抓到了
foreach (@rps_server_details) {
@server_data = ();
@server_data = split(/,/);
@$esp_hosts = ();
$filters{server_name} = $server_data[0];
print "--->$_<--\n";
$esp_hosts = $esp->get_hosts(fields => $fields, %filters) || die "$@";
print "--->$_<--\n";
输出是:
--->igrid8873.someone.com,app_10<--
Use of uninitialized value in concatenation (.) or string at ./rps_inv_lookup.pl line 120.
---><--
指定我自己的循环变量而不是依赖 $_ 可以解决问题。
将 $_ 与其他人编写的 API 结合使用是不是太天真了?或者这是该 API 模块中的错误?