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

Dateitest



<< >> 4 Einträge, 1 Seite
alexus-777
 2004-04-26 23:28
#81868 #81868
User since
2004-04-13
121 Artikel
BenutzerIn
[default_avatar]
Hi,

kann man irgendwie mehrere tests auf einmal machen sowas wie:
Code: (dl )
if(-erwxd $datei){}


Gruß Alexander
esskar
 2004-04-26 23:29
#81869 #81869
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
würde stat verwenden und dann das ergebnis nach und nach testen!
Dubu
 2004-04-27 12:11
#81870 #81870
User since
2003-08-04
2145 Artikel
ModeratorIn + EditorIn

user image
Code: (dl )
1
2
3
if (-e $datei && -f _ && -r _ && -x _) {
...
}

Das '_' ist dabei Shortcut fuer die letzte getestete Datei (bzw. Dateihandle).

Bei mehr Tests wuerde ich aber esskars Vorschlag bevorzugen. Beides kann man aber auch kombinieren (vgl. perldoc -f -X):
Code: (dl )
1
2
3
4
5
6
7
8
9
stat($datei);
                  print "Lesbar\n" if -r _;
                  print "Beschreibbar\n" if -w _;
                  print "Ausfuehrbar\n" if -x _;
                  print "Setuid\n" if -u _;
                  print "Setgid\n" if -g _;
                  print "Sticky\n" if -k _;
                  print "Wahrscheinlich Text\n" if -T _;
                  print "Wahrscheinlich binaer\n" if -B _;
ptk
 2004-04-27 14:16
#81871 #81871
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Ab perl5.9.1 kann man die Tests kombinieren. Aus perldoc perl591delta:
Code: (dl )
1
2
3
4
  Stacked filetest operators
As a new form of syntactic sugar, it's now possible to stack up filetest
operators. You can now write "-f -w -x $file" in a row to mean "-x $file
&& -w _ && -f _". See "-X" in perlfunc.
<< >> 4 Einträge, 1 Seite



View all threads created 2004-04-26 23:28.