Thread Modul-Einbindung mit eval (40 answers)
Opened by bianca at 2011-03-28 18:38

bianca
 2011-03-28 17:26
#146995 #146995
User since
2009-09-13
7016 Artikel
BenutzerIn

user image
2011-03-28T15:14:32 pq
mehr info, wie immer.
Sorry

2011-03-28T15:14:32 pq
an welcher stelle steht das eval und was steht in $@, wenn das "or" ausgeführt wird, also $zeitkorrektur_modul 0 ist?


Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/usr/bin/perl -w
use strict;
use warnings;
use Date::Calc qw (
    System_Clock
);
use Data::Dumper;
my $zeitkorrektur_modul = 1;
eval "use Win32::UTCFileTime qw (:globally); 1;" or $zeitkorrektur_modul = 0;
#use Win32::UTCFileTime qw (:globally);
print "\$zeitkorrektur_modul = $zeitkorrektur_modul\n";
print "\$@ = $@\n";

my @test = System_Clock (0);
print Dumper (\@test);
print "Doofe Sommerzeit aktiv: " . ($test[8] == 1 ? 'ja' : ($test[8] == -1 ? 'unbekannt' : 'nein')) . "\n";

print "time: " . time() . "\n";
print "localtime: " . localtime() . "\n";
print "gmtime: " . gmtime() . "\n";
my $datei = '../pfad/datei.bak';
print "stat Testdatei (25.03.2009 18:11:30 MEZ): " . (stat($datei))[9] . ' / ' . gmtime((stat($datei))[9]) . "\n";

Liefert:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$zeitkorrektur_modul = 1
$@ =
$VAR1 = [
2011,
3,
28,
17,
25,
0,
87,
1,
1
];
Doofe Sommerzeit aktiv: ja
time: 1301325900
localtime: Mon Mar 28 17:25:00 2011
gmtime: Mon Mar 28 15:25:00 2011
stat Testdatei (25.03.2009 18:11:30 MEZ): 1301076690 / Fri Mar 25 18:11:30 2011


Nun Zeile 9 auskommentiert und Zeile 10 aktiv liefert:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$zeitkorrektur_modul = 1
$@ =
$VAR1 = [
2011,
3,
28,
17,
25,
32,
87,
1,
1
];
Doofe Sommerzeit aktiv: ja
time: 1301325932
localtime: Mon Mar 28 17:25:32 2011
gmtime: Mon Mar 28 15:25:32 2011
stat Testdatei (25.03.2009 18:11:30 MEZ): 1301073090 / Fri Mar 25 17:11:30 2011


Alles bei selbem Systemdatum auf dieselbe Datei.
Danke
10 print "Hallo"
20 goto 10

View full thread Modul-Einbindung mit eval