Frage : Kann DBI.pm nicht im @INC lokalisieren

Hallo, ist das

I morgens versuchend, zeitlich geplante Aufgaben (cron) im plesk zu verwenden, eine tägliche Anzeige zu einem email address für Geburtstage in meinem Büro,
The Code zu schicken unten, wenn es mich erhält die folgende Störung message.

Can DBI.pm, nicht im @INC zu lokalisieren laufen lässt (@INC enthält: C: /Program archiviert,/Ähnlichkeiten/Plesk/Additional/Perl/lib C: /Program archiviert,/Ähnlichkeiten/Plesk/Additional/Perl/site/lib.) am C:\inetpub\vhosts\httpdocs \ testserver \ email2.pl Linie 4.
BEGIN aus--Kompilation brach am C:\inetpub\vhosts\httpdocs \ testserver \ email2.pl Linie 4.

I haben überprüft, um zu sehen ab, wenn DBI using das Befehlsperl - MCPAN - e „angebrachtes DBI“

I erhalten die Antwort DBI ist aktuelles (1.611)

Can angebracht ist, das Sie bitte helfen?
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
6:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
#! /usr/local/bin/perl  

strenges verwenden;
DBI verwenden;
cgi benutzen;
Gebrauch MIME:: Lite;

POSIX qw (strftime) benutzen;
mein $mmddyyyy = strftime („%m/%d/%Y“, localtime);
mein $mm = strftime („%m“, localtime);
mein $dd = strftime („%d“, localtime);
mein $yy = strftime („%Y“, localtime);

 # Datenbankinfo eintragen
 mein $USERNAME = „888“;
 mein $PASSWORD = „888“;
 mein $DATABASE = „888“;

mein $dbh = DBI->connect („dbi: mysql: $DATABASE: localhost: 3306“, „$USERNAME“, „$PASSWORD“);

#, wenn Identifikation ein int ist, sollte dieses „Identifikation = 0“ sein aber, wenn es eine Putzfrau oder ein varchar ist, es ist korrekt
mein $settings1 = $dbh->prepare („* von den Einstellungen vorwählen IN DENEN Identifikation = „0“ ");  
$settings1->execute ();  

#, da Sie vorwählen * das Identifikation einschließen muss, aber Sie Identifikation in dieser Liste nicht haben.
#, sie ist anzunehmen das erste Feld in der Reihe, ich haben addiert sie
während (mein ($ID, $Path, $Ops_Email, $From_Email, $Subject, $Monthly_Email, $Email_Reminders) = $settings1->fetchrow_array ()) {

	# Weitergehen, wenn wir nichts tun
	zunächst es sei denn $Email_Reminders == 1 oder $Monthly_Email == 1;

	# täglich Anzeigen
	wenn ($Email_Reminders == 1) {

		# fügen wir den Anfang und das Ende des Körpers hinzu, nur wenn es irgendwelche Geburtstage heute gab
		mein ($dailycount, $body);
		$sth->execute ();
		während (mein ($Name, $Address, City, $State, $Postal, Country, $B_Date) = $sth->fetchrow_array ()) {  
			# ein dem $dailycount hinzufügen
			$dailycount++;

			# gerade das Jahr von $B_Date erhalten, indem Sie alles nach dem ersten Schlag loswerden
			(mein $B_Year = $B_Date) =~ s/-.*//;
			mein $age = $yy - $B_Year;

			$body. = „$Name (Umdrehungen $age!)\ n“;

		}
		$sth->finish;
		$body. = „\ n“;

		# irgendwelche nicht senden, wenn es keine gibt
		wenn ($dailycount > 0) {
			$body = <new (
				Von =>$From_Email,
				Zu =>$To_Email,
				Thema =>$Subject,
				Daten =>$body
			);
			### senden auf die „Best“ Art (die Rückstellung ist, „sendmail“ zu benutzen):
			$msg->send;
		}
	}
	# Ende tägliche Anzeigen 

	# Monatsanzeigen tun, wenn es das erste des Monats ist
	wenn ($dd == 1) {
		################  
		# MONTHLYEMAIL #  
		################  

		# die Frage vorbereiten  
		mein $sthMonthly = $dbh->prepare („* von den teamdates vorwählen, IN DENEN `B_Date `„%-$mm-%“ MÖGEN ");  

		# die Frage durchführen  
		$sthMonthly->execute ();  

		# fügen wir den Anfang und das Ende des Körpers hinzu, nur wenn es irgendwelche Geburtstage heute gab
		mein ($monthcount, $body);
		während (mein ($Name, $B_Date) = $sthMonthly->fetchrow_array ()) {
			$monthcount++;

			# erhalten gerade das Jahr von $B_Date indem das Loswerden alles nach dem ersten Schlag
			(mein $B_Year = $B_Date) =~ s/-.*//;
			mein $age = $yy - $B_Year;
			$body. = „$Name (Umdrehungen $age2!) $B_Date \ n“;
		};  
		wenn ($monthcount) {

			## Post-Körper  
			mein $body = <new (
				Von =>$From_Email,
				Zu =>$Ops_Email,
				Thema =>$Subject,
				Daten =>$body
			);
			### senden auf die „Best“ Art (die Rückstellung ist, „sendmail“ zu benutzen):
			$msg->send;
		}
	}
}

Antwort : Kann DBI.pm nicht im @INC lokalisieren

Ist hier mein Lieblingstrick, zum festzustellen, wo das Module.pm, das Sie benötigen, lokalisiert wird.

Perl - MDBI - d - e0 und dann schreiben V an der Debuggeraufforderung, dann lokalisieren das Modul und seinen verbundenen Weg:

Nach einer Abschrift unten suchen…


1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
6:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
C:\Documents and Settings\jerome >perl - MDBI - d - e0

Laden DB-Programme von perl5db.pl Version 1.3
Herausgeberunterstützung vorhanden.

H oder „h h“ für Hilfe oder „perldoc perldebug“ für mehr Hilfe eintragen.

Hauptleitung:: (- e: 1):   0

  DB<1> V
1==>    0

  DB<1> V
$ = '
'
FileHandle (stderr) => fileno (2)
%SIG = (
   „ABRT“ => undef
   „ALRM“ => undef
   „BRUCH“ => undef
   „BUS“ => CODE (0x19e1504)
      - > &CODE (0x19e1504) innen???
   „CHLD“ => undef
   „CLD“ => undef
   „FORT.“ => undef
   „FPE“ => undef
   „HUP“ => undef
   „KRANKES“ => undef
   „INT“ => CODE (0x19beb34)
      - > &DB:: Fang in 0
   „TÖTUNG“ => undef
   => „NUM05“ undef
   => „NUM06“ undef
   => „NUM07“ undef
   => „NUM10“ undef
   => „NUM12“ undef
   => „NUM16“ undef
   => „NUM17“ undef
   => „NUM18“ undef
   => „NUM19“ undef
   => „NUM24“ undef
   „ROHR“ => undef
   „GEVERLASSENES“ => undef
   „SEGV“ => CODE (0x19e1504)
      - > REUSED_ADDRESS
   => undef „STOPPEN“
   Als => undef „BEZEICHNEN“
   „HANDKURBEL“ => „readline:: get_window_size“
   „__DIE“ => CODE (0x19e1934)
      - > &DB:: dbdie in 0
   „__WARN“ => CODE (0x19e1734)
      - > &DB:: dbwarn in 0
)
$^L = „\ Cl“
$^ = „OUT_TOP“
$$ = 16540
$ \ = ''
$ - = 0
@ - = (
   0  leerer Schlitz
   1  leerer Schlitz
   leerer  Schlitz 2
)
$! = „keine solche Akte oder Verzeichnis“
$^X = „C:\ \ Perl \ \ Sortierfach\ \ perl.exe“
$^UNICODE = 0
$^V = v5.10.0
$= = 60
$2 = ''
$^WARNING_BITS = „\ c@ \ c@ \ c@ \ c@ \ c@ \ c@ \ c@ \ c@ \ c@ \ c@ \ c@ \ c@“
FileHandle (stdin) => fileno (0)
@INC = (
   0  „C: /Perl/site/lib“
   1  „C: /Perl/lib“
   2  „.“
)
%INC = (
   „ActivePerl/Config.pm“ => „C: /Perl/lib/ActivePerl/Config.pm“
   „ActiveState/Path.pm“ => „C: /Perl/lib/ActiveState/Path.pm“
   „AutoLoader.pm“ => „C: /Perl/lib/AutoLoader.pm“
   „C: /Perl/site/lib/sitecustomize.pl“ => „C: /Perl/site/lib/sitecustomize.pl“
   „Carp.pm“ => „C: /Perl/lib/Carp.pm“
   „Karpfen/Heavy.pm“ => „C: /Perl/lib/Carp/Heavy.pm“
   „Config.pm“ => „C: /Perl/lib/Config.pm“
   „Config_heavy.pl“ => „C: /Perl/lib/Config_heavy.pl“
   „Cwd.pm“ => „C: /Perl/lib/Cwd.pm“
   „DBI.pm“ => „C: /Perl/lib/DBI.pm“  <--------------------->
           
Weitere Lösungen  
 
programming4us programming4us