- 论坛徽章:
- 0
|
如下一段代码,运行时总报错:
Can't locate loadable object for module Win32: erfMon in @INC(@INC contains: C:/Perl/site/lib C:/Perl/lib .) at ...... line3...
我明明cpan已经安装了该模块啊;另外,搜索PerfMon.pm具体安装路径,使用 use lib C:/...(《中级perl》3.9节中讲到使用该方法“适时地打开路径”),运行后还是报错。请帮看看如何解决,谢谢!
程序代码如下:- #get_system_stats.pl
- #use lib "C:/Perl/site/lib/Win32";
- use Win32::PerfMon;
- use strict;
- my $ret = undef;
- my $err = undef;
- my $Object = undef;
- my $Counter = undef;
- my $CounterData = undef;
- #connect to localhost for data
- my $perfmon = Win32::PerfMon->new("\\\\localhost");
- if($perfmon != undef)
- {
- $ret = $perfmon->AddCounter("Processor",
- "% Processor Time", "_Total");
- if($ret != 0) {
- $ret = $perfmon->AddCounter("Memory",
- "Available MBytes", -1);
- }
- if($ret != 0)
- {
- $ret = $perfmon->CollectData();
- if($ret != 0) {
- my $proctime = $perfmon->GetCounterValue(
- "Processor","% Processor Time",
- "_Total");
- if($proctime > -1)
- {
- print "% Processor Time = [$proctime]\n";
- }
- else
- {
- $err = $perfmon->GetErrorText();
- print "Failed to get the counter data!\n",
- $err, "\n";
- }
- my $freemem = $perfmon->GetCounterValue(
- "Memory","Available MBytes",
- -1);
- if($freemem > -1)
- {
- print "Available Memory = [$freemem]MB\n";
- }
- else
- {
- $err = $perfmon->GetErrorText();
- print "Failed to get the counter data!\n",
- $err, "\n";
- }
- }
- else
- {
- $err = $perfmon->GetErrorText();
- print "Failed to collect the perf data!\n",
- $err, "\n";
- }
- }
- else
- {
- $err = $perfmon->GetErrorText();
- print "Failed to add the counter!\n", $err, "\n";
- }
- }
- else
- {
- print "Failed to create the perf object!\n";
- }
复制代码 |
|