Hallo,
Habe gerade einmal die Probe auf's Exempel gemacht über die ersten 100 Perlscripte in /usr/local. Bis auf eine Ausnahme haben alle hinterher noch funktioniert.
Nein, muß mich berichtigen, die Ausnahme hat auch vorher nicht funktioniert ;-)
(Nur Syntaxtest mittels 'perl -c' und Rückgabe ungleich 0)
"Hey! It compiles! Ship it!"
Einige warten noch nicht einmal darauf ;-)
Nee nee, nur weil es kompiliert wuerde ich gerade bei Perl noch lange nicht sagen, dass es noch genauso funktioniert.
Nicht nur in Perl, Herr Kollege, nicht nur in Perl ;-)
Aber bei der Methode Inline-Kommentare zu entfernen, sollte auf jeden Fall ein Syntaxfehler kommen, wenn das in die Hose geht. Vielleicht nicht bei einem oder zweien, aber auf jeden Fall bei 100.
Mit Deinem Beispiel unten wundert es mich aber doch, daß es funktioniert hat. War wohl entweder Zufall, oder ich habe beim testen Murks gebaut.
Nein, Zufall, es gab gar keine Inline-Komentare/regex-stunts in den getesteten Dateien.
Mieser Test! ;-)
Äh, nein. Je nach Dateisystem schmeißt das rm (oder besser gesagt, das unlink() Kommando) die Datei aus dem Journal. mv macht das je nach Version nicht unbedingt.
Ist aber dann ein Bug im Dateisystem, nicht in mv.
Kenne mich mit JFS's nicht aus, aber ich finde es schon komisch, eine Datei loeschen zu wollen, die es theoretisch gar nicht mehr geben sollte. Aber gut, den Sinn des Windows-Papierkorb hab ich auch nie verstanden. *g*
Ja, war ein fieser Bug.
Vor allem so schlecht zu erkennen. ;-)
Ursache war übrigens "nur" ein Typo in einer Entwicklerversion.
Wenn Du Dich selber darin versuchen möchtest würde ich ReiserFS bzw ext3 empfehlen. Ext3 hat auch noch den Vorteil sehr flexibel zu sein und vor allem kompatibel zu Ext2. Die anderen sind noch zu instabil (War übrigens mal ein Test in der iX, IMHO Märzausgabe) wenn auch teilweise schneller/größer.
BTW:
bash-2.02$ man -k Windows-Papierkorb
Windows-Papierkorb: nothing appropriate.
Wollte ich jetzt nur mal nebenbei erwähnt haben ;-)))
Nunja, eigentlich ist die Dokumentation eindeutig:
(man perlsyn)
Text from a `"#"' character until the end of the line is a comment, and is ignored.
So einfach ist die Perlwelt dann leider doch nicht.
Ja, ich weiß, deshalb stand da ja auch "eigentlich" ;-)
Allerdings gibt es natürlich trotzdem noch solche Dinger:
bash-2.02$ perl -e 'print " dies ist ein # Kommentar\n"; '
dies ist ein # Kommentar
bash-2.02$
Das ist ja noch harmlos. Nimm dieses Beispiel:
$ perl -w
$x = "laber # tratsch";
$x =~ s###foo#g;
print $x;
^D
laber foo tratsch
$
Würde aber beides eine Syntaxfehler ergeben, wenn man mein Sedscript drauf los ließe.
Nunja, Perl ist aber eh eine schöne Sprache.
Mitunter läßt sich auf den ersten Blick kein großer Unterschied zwischen den Ausgaben von
cat perlscript
und
dd if=/dev/urandom bs=512 count=12 | sed -e 's/[[1]]*//g'
feststellen ;-)
Tja, böööse Falle ;-)
Ganz boese. ;-)
Multa viae baccam a Romam ducent ;-)
--
Falscher oder fehlender Kaffee. Benutzer angehalten.
Ja, das kommt davon, wenn man sich nicht an die RFCs hält. Insbesondere möchte ich hier RFC 2324 Abschnitt 2.2.2.1 sowie RFC 2325 in Gänze ans Herz legen ;-)
so short
Christoph Zurnieden
:print: ↩︎