linux-l: perl-tk
Steffen Dettmer
steffen at dett.de
Fr Jan 11 13:24:46 CET 2002
* Olaf Radicke wrote on Thu, Jan 10, 2002 at 14:19 +0000:
> On Thu, Jan 10, 2002 at 12:29:10PM +0100, Steffen Dettmer wrote:
> > C?! Wieso C? Na gut, wer Unix mag sollte C mal gesehen haben,
> [...]
> Nun, weil es denke ich eine gute Ergänzung zu Perl sein kann.
> Man kann ja beides "mischen" und die jeweiligen stärken dabei
> ausspielen. Also Perl in C/C++ "einbetten" b.z.w. C-Erweiterungen
> für Perl machen.
Das halte ich für keine gute Idee. Welche Stärken hat
eingebettes C gegenüber Perl? C ist schnell, aber nicht mehr,
wenn's eingebettet ist. C kann man prima mit autoconf verwenden,
aber bei Perl braucht man das i.d.R. nicht mal. Bei C kann man
die Quellen geheimhalten.
So, wenn Du C einbetten willst, kannst Du das meist auch gleich
in Perl schreiben. Ist viel komfortabler und schneller zu
entwickeln.
> #! /usr/bin/perl -w
[...]
> sub rotiene {
> chomp($anzahl);
> open(LISTE, " /backup2/backup/cd/liste.txt") || die "dateihandel fehlgeschlagen";
> @liste = <LISTE>;
> close(LISTE);
>
> for ($durchlauf =0; $durchlauf < $anzahl ; ++$durchlauf ){
> srand;
> $zufall = int( rand(@liste));
> $ausgabe = $liste[$zufall];
> chomp($ausgabe);
> system "gqview $ausgabe \&";
> };
> };
> sub suchen {system ("find /backup2/backup/cd/ -type d > /backup2/backup/cd/liste.txt");
> };
Warum nicht schöner:
my @liste;
#nur einmal initialisieren, oder?
srand;
sub suchen
{
open(LISTE, "find /backup2/backup/cd/ -type d |")
or die "fork failed $!\n";
@liste = <LISTE>;
if (! @liste) {
#...fehler....
}
close(LISTE)
or die "find failed $!\n"; ##oder sowas
};
sub rotiene {
chomp($anzahl);
for ($durchlauf =0; $durchlauf < $anzahl ; ++$durchlauf ){
$zufall = int( rand(@liste));
$ausgabe = $liste[$zufall];
chomp($ausgabe);
system "gqview $ausgabe \&";
};
};
oki,
Steffen
--
Dieses Schreiben wurde maschinell erstellt,
es trägt daher weder Unterschrift noch Siegel.
Mehr Informationen über die Mailingliste linux-l