- 論壇徽章:
- 0
|
如下一段代碼,運行時總報錯:
Can't locate loadable object for module Win32: erfMon in @INC(@INC contains: C:/Perl/site/lib C:/Perl/lib .) at ...... line3...
我明明cpan已經(jīng)安裝了該模塊;另外,搜索PerfMon.pm具體安裝路徑,使用 use lib C:/...(《中級perl》3.9節(jié)中講到使用該方法“適時地打開路徑”),運行后還是報錯。請幫看看如何解決,謝謝!
程序代碼如下:- #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";
- }
復(fù)制代碼 |
|