[Cologne-pm] >=)
Michael Lamertz
mike at lamertz.net
Wed Mar 26 16:32:31 CST 2003
On Wed, Mar 26, 2003 at 06:46:35PM +0100, johannes huettemeister wrote:
> Hi,
> das ist ja wieder krass:
> ich ueberleg mal:
> >
> > > perl -ple'}{package Just::Another::Perl;&Hacker;sub AUTOLOAD{$_=$AUTOLOAD;s;::; ;g}' < /dev/null
>
> - package macht das neue package Just:: usw.
> - &Hacker ruft die gleichnamige Sub auf, die es (noch) nicht gibt
> - aber dann von AUTOLOAD gefangen wird und $AUTOLOAD ist
> damit der Sub Name mit vollem Package Namen
> - der Standardvariablen $_ wird dann $AUTOLOAD zugewiesen, nachdem alle (g)
> doppelten Doppelpunkte durch ein Leerzeichen substituiert wurden
Soweit so richtig, aber *wieso*?
> Von Perl auf der Kommandozeile hab ich keine Ahnung,
Das solltest Du aendern (see below...)!
> vor allem von der lustigen } am Anfang versteh ich nix.
Nett, nicht? Hast Du's 'mal ohne probiert? Whoops!
> afaik oeffnet -p aber eine Datei und -l oder -e haengt ein Linefeed an.
Fast knapp... >:->
Ich empfehle 'perldoc perlrun'
Fuer den taeglichen Einsatz sollte man mindestens folgende beiden Aufrufe kennen:
a. -lane "Lane"
b. -pi.bak -e "Me like Pie!"
a. Laeuft ueber die Datei (-n), splittet jede Zeile auf Whitespace
(split ' ') in das @F Array hinein (-a) und fuehrt dann die uebergebene
Expression (-e command) aus.
ls -l | perl -lane '$sum += $F[4]; END{print $sum}'
(jaja, das Beispiel ist ein wenig an den Haaren herbeigezogen...)
b. Liest nacheinander alle angegebenen Dateien, fuehrt fuer jede Zeile
die angegebene Expression (-e command) aus, und gibt am Ende $_ aus
(-p). Die Original-Datei wird mit der Extension .bak gesichert und das
Ergebnis ersetzt das urspruengliche Original (-i.bak).
Zu der '}' am Anfang sag' ich noch nix, aber einen Hinweis auf einen
Hinweis darauf hab' ich schon gegeben... >:-> Das soll Aristoteles
spaeter aufloesen. Schliesslich hat er's ja gepostet.
PS: Spread the word Leute. Schleppt Eure Kollegen/Freunde/Feinde
(falsch Du Pfeife, frag'mal die Leute bei Cologne.pm) an, damit
Cologne.pm ein Wenig an Substanz und Traffic gewinnt!
--
Well, then let's give that Java-Wussie a beating... (me)
Michael Lamertz | +49 2234 204947 / +49 171 6900 310
Sandstr. 122 | mike at lamertz.net
50226 Frechen | http://www.lamertz.net
Germany | http://www.perl-ronin.de
More information about the Cologne-pm
mailing list