Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]11047[/thread]

Probleme mit Dateifunktionen(-s / -r)(Windows x86)



<< |< 1 2 >| >> 12 Einträge, 2 Seiten
pracetzy
 2007-12-19 15:15
#104035 #104035
User since
2007-12-19
9 Artikel
BenutzerIn
[default_avatar]
hallo,
bin neu bei perl und probiere halt alles mögliche aus
ich habe probleme, dateifunktionen wie -s (gibt die dateigröße zurück) zu verwenden (unter windows), ich hab das neue activeperl und als ich die sache auf mac probiert hab, ging das alles super, ich hab halt geschrieben:


my $gross = -s "datei.txt"; # Auch versucht mit der vollständigen Pfadangabe
print "Größe ist $gross\n";

als fehlermeldung kommt, dass $groß nicht initialisiert ist.
wenn ich nen defined-test mache (defined($gross)), meldet er auch ne leere zeichenkette, also undefiniert.
woran liegt das, dass -s (oder auch -r, -d...) keinen wert zurückliefern?
wie gesagt, bei mac klappt das super, nur diese funktionen klappen unter windows irgendwie nicht.
es gibt ja noch unix-spezifische befehle, aber nach der tabelle auf selfhtml über perl gehören -s, -r, -d... nicht dazu.
wer kann mir helfen?
danke schonmal
bye
pracetzy
renee
 2007-12-19 15:17
#104036 #104036
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Wie sieht Dein Versuch mit der Vollständigen Pfadangabe aus?
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
renee
 2007-12-19 15:18
#104037 #104037
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Poste auch mal die Ausgabe von perl -V...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
GwenDragon
 2007-12-19 16:38
#104041 #104041
User since
2005-01-17
14747 Artikel
Admin1
[Homepage]
user image
Mit der 5.6, 5.8 und 5.10 getestet. Geht unter Windows.

Was kommt denn bei
Code (perl): (dl )
1
2
my $gross = -s "datei.txt" or die $!; 
print "Größe ist $gross\n";
#Kein Kommentar
 2007-12-19 17:26
#104044 #104044
User since
2007-06-09
575 Artikel
HausmeisterIn
[default_avatar]
du könntest zur alternative auch stat nehmen...
Gerade weil wir alle in einem Boot sitzen, sollten wir froh sein, dass nicht alle auf unserer Seite sind
pracetzy
 2007-12-19 18:22
#104047 #104047
User since
2007-12-19
9 Artikel
BenutzerIn
[default_avatar]
also:

stat geht auch nicht, hatte ich schon probiert

vollständiger pfad geht auch nicht, liegt ja auch nicht am pfad, sondern daran, dass -s keinen wert zurück gibt, also ich kann ne datei ausgeben lassen...

volle ausgabe von perl -V:
Code: (dl )
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
36
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
Summary of my perl5 (revision 5 version 8 subversion 8) configuration:
Platform:
osname=MSWin32, osvers=5.00, archname=MSWin32-x86-multi-thread
uname=''
config_args='undef'
hint=recommended, useposix=true, d_sigaction=undef
usethreads=define use5005threads=undef useithreads=define usemultiplicity=define
useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
use64bitint=undef use64bitall=undef uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='cl', ccflags ='-nologo -GF -W3 -MD -Zi -DNDEBUG -O1 -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DE
S_FCRYPT -DNO_HASH_SEED -DUSE_SITECUSTOMIZE -DPRIVLIB_LAST_IN_INC -DPERL_IMPLICIT_CONTEXT -DPERL_IMP
LICIT_SYS -DUSE_PERLIO -DPERL_MSVCRT_READFIX',
optimize='-MD -Zi -DNDEBUG -O1',
cppflags='-DWIN32'
ccversion='12.00.8804', gccversion='', gccosandvers=''
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=8
ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='__int64', lseeksize=8
alignbytes=8, prototype=define
Linker and Libraries:
ld='link', ldflags ='-nologo -nodefaultlib -debug -opt:ref,icf -libpath:"C:\Setup\Perl\lib\CORE
" -machine:x86'
libpth=\lib
libs= oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib sh
ell32.lib ole32.lib oleaut32.lib netapi32.lib uuid.lib ws2_32.lib mpr.lib winmm.lib version.lib od
bc32.lib odbccp32.lib msvcrt.lib
perllibs= oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.li
b shell32.lib ole32.lib oleaut32.lib netapi32.lib uuid.lib ws2_32.lib mpr.lib winmm.lib version.li
b odbc32.lib odbccp32.lib msvcrt.lib
libc=msvcrt.lib, so=dll, useshrplib=true, libperl=perl58.lib
gnulibc_version=''
Dynamic Linking:
dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' '
cccdlflags=' ', lddlflags='-dll -nologo -nodefaultlib -debug -opt:ref,icf -libpath:"C:\Setup\Pe
rl\lib\CORE" -machine:x86'


Characteristics of this binary (from libperl):
Compile-time options: MULTIPLICITY PERL_IMPLICIT_CONTEXT
PERL_IMPLICIT_SYS PERL_MALLOC_WRAP
PL_OP_SLAB_ALLOC USE_ITHREADS USE_LARGE_FILES
USE_PERLIO USE_SITECUSTOMIZE
Locally applied patches:
ActivePerl Build 822 [280952]
Iin_load_module moved for compatibility with build 806
PerlEx support in CGI::Carp
Less verbose ExtUtils::Install and Pod::Find
Patch for CAN-2005-0448 from Debian with modifications
Rearrange @INC so that 'site' is searched before 'perl'
Partly reverted 24733 to preserve binary compatibility
MAINT31223 plus additional changes
31490 Problem bootstraping Win32CORE
31324 Fix DynaLoader::dl_findfile() to locate .so files again
31214 Win32::GetLastError fails when first called
31211 Restore Windows NT support
31188 Problem killing a pseudo-forked child on Win32
29732 ANSIfy the PATH environment variable on Windows
27527,29868 win32_async_check() can loop indefinitely
26970 Make Passive mode the default for Net::FTP
26379 Fix alarm() for Windows 2003
24699 ICMP_UNREACHABLE handling in Net::Ping
Built under MSWin32
Compiled at Jul 31 2007 19:34:48
@INC:
C:/Setup/Perl/site/lib
C:/Setup/Perl/lib
.


@ gwendragon: kannste mal das gesamte skript posten?

sry für dia lange antwortzeit, hatte unterricht ;-p

thx,
pracetzy


ps: #kein kommentar: dito zur signatur >)
GwenDragon
 2007-12-19 18:25
#104048 #104048
User since
2005-01-17
14747 Artikel
Admin1
[Homepage]
user image
Code (perl): (dl )
1
2
3
4
5
#!perl
use strict;
use warnings;
my $gross = -s "datei.txt" or die $!; 
print "Größe ist $gross\n";
pracetzy
 2007-12-19 18:35
#104049 #104049
User since
2007-12-19
9 Artikel
BenutzerIn
[default_avatar]
okay, ich bin verwirrt
gebe ich deins ein, funktioniert es
gebe ich meins nochmal, ein funktioniert es
WTF? (scnr)
also, es geht jetzt...
ich weiss zwar nicht, was ich erst anders gemacht hab, aber...
okay, dafür danke, tut mir leid, aber es geht ja nun ;-)

nochmal ne frage: ich hab bei vielen jetzt gesehen (und auch bei dir),
dass ihr "use warnings;" macht.
ist das dasselbe wie #!c:/programme/perl/bin/perl -w?
so hab ichs bis jetzt immer gemacht...
prac
GwenDragon
 2007-12-19 18:41
#104050 #104050
User since
2005-01-17
14747 Artikel
Admin1
[Homepage]
user image
Nein, das ist nicht das gleiche.
http://faq.perl-community.de/bin/view/Perldoc/perl...

use warnings wirkt nur auf das Skript, während -w Warnungen in allen eingebundenen Modulen/Skripten aktiviert.
pracetzy
 2007-12-19 21:45
#104055 #104055
User since
2007-12-19
9 Artikel
BenutzerIn
[default_avatar]
nochmal ne andere schnelle frage (ich wollte kein neues topic öffnen):
gibts noch andere "packages" (oder wie das heisst) als my,
also ich schreib halt bei variablen immer "my $skalar" oder so,
gibts da noch was anderes, was vorn hin kann (so wie global oder so)?
bye
prac
<< |< 1 2 >| >> 12 Einträge, 2 Seiten



View all threads created 2007-12-19 15:15.