Einzelnen Beitrag anzeigen
Alt 24.05.2002, 22:17   #1
_m3
Inventar
 
Registriert seit: 24.09.2001
Beiträge: 7.335


Blinzeln Flamebait: Perl oder PHP ?

Nachdem von mir immer mehr PHP gefordert wird, bin ich heute wieder über was gestolpert, was mich an PHP mehr als zweifeln ließ.

Ein Script, dass die Files eines Verzeichnisses ausliest und ausgibt, schaut in Perl z.B. so aus:
Code:
#!/usr/bin/perl
use strict;
print "Content-type: text/html\n\n\n";

my $dir = '../htdocs/ate/data';
opendir(DIR, $dir) || die "can't opendir $dir: $!";
my @files = grep { /\.txt/ } readdir(DIR);
closedir DIR;

foreach (@files) {
    print "$_
\n";
}
In PHP hab ich das so gemacht:
Code:
<?php
$datadir = "data";
$handle = opendir($datadir);
if($handle == "") {
	exit("Konte Verzeichnis $datadir nicht lesen!\n");
}
 
$files = array();
while (false !== ($file = readdir ($handle))) {
//	if ( strlen($file) > 4 && strpos($file, ".txt", strlen($file)-4 ) ) { // Ohne RegEx
if( preg_match( "/\.txt/", $file) ) {	// Mit RegEx
	array_push ($files, "$datadir/$file");
}
closedir($handle);

foreach ($files as $file) {
	echo "$file
\n";
}

?>
Ich mein, viel umständlicher als in PHP gehts nicht mehr. Abgesehn davon, dass nirgends dokumentiert ist, wie man einen ungültigen Handle abfragt.
Wo sind die PHP-Gurus? Geht das nicht eleganter?
Ich bin von PHP (wieder einmal) schwer enttäuscht.
____________________________________
Weiterhin zu finden auf http://martin.leyrer.priv.at , http://twitter.com/leyrer , http://www.debattierclub.net/ , http://www.tratschen.at/ und via Instant Messaging auf Jabber: m3 <ät> cargal.org .
_m3 ist offline   Mit Zitat antworten