[linux-support] Manchmal ist derkürzere Weg nicht der beste: Perl Beispiele

miLosh milosh at plexus.shacknet.nu
Thu Oct 7 13:13:21 CEST 2004


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Marco Steinacher wrote:
| miLosh wrote:
|
|> |
|> | Hier habe ich auch ein Beispiel. Das folgende Program herstellt
|> | Palindrome:
|> |
|> | $ perl -e '$_=($a=reverse$;=$a.pop)|$"x$$a++.$;.$/until/$;/;print'
|> abcde
|> |
|> | edcbabcde
|> hat leider nen kleinen schoenheitsfehler, es stellt den input anfangs
|> verkehrt herum dar. und:
| Das ist IMO kein Fehler.
scheint so, 'Jasper' auf perlgolf.org macht es so wie ich, 'mtve' so wie
bei dir.

| Dein Programm erfüllt die Regeln leider nicht ganz:
| Erstens muss das Programm den Input als Argument bekommen
ich hab das der einfachheit halber so gemacht. es gibt kein '-e' bei
awk, fuer mich auf der shell hab ichs aber so gemacht:

$ awk ' [code] ' -

das liest dann von der command line. awk direkt erwartet als input ein
file - ob plaintext oder pipe ist egal, ich kann ihm aber afaik
nicht direkt einen input geben den er bearbeiten soll. in ein script
verpackt kann man das mit einem:
echo $1 | awk ' [code] '

umgehen ;)

| und zweitens
| (wichtiger) hält es den Tests [1] nicht stand. Das Programm muss das
| _kürzeste_ Palindrom liefern. Test Nr. 2 besteht dein Programm daher
nicht:
| Input: aab
| Dein Output: aabaa
| Richtiger, kürzester Output: baab
das hingegen war mir nicht klar, hab das so verstanden dass man das
wort spiegeln soll und doppelungen in der mitte entfernen. auf der site
wirds auch so gezeigt, die beispiele sind alle gespiegelt aber es
gibt keins bei dem die anfangsbuchstaben doppelt sind, in den rules
steht auch nichts davon, trotzdem machen es Jasper & co auch so wie
du sagst (was macht dieser perltest eigentlich? versteh nur bahnhof).

wie dem auch sei, die rules halte ich sowieso net ein, da ich
kein perl-5.8 verwende und in der anzahl bytes verliere ich sowieso,
hast ja gesehen wielang in awk die namen der stringfuktionen sind.

weil mein kopf voller medis ist, *huestel*, will ichs mal sein lassen
noch ne loesung zu suchen, zumal mir auch nicht ganz aufgeht wo
der sinn darin liegt, denn das ergebnis hat nicht mehr viel
mit dem input zu tun. das wird gleich an dem rules bsp 'madam' klar.
der ursprung davon ist bei meiner version 'mad', bei dir aber
'dam' - ich beginne mit dem anfang, du mit dem ende, aber vielleicht
ist das nur in meiner logik so, hehe

hab spass
miLosh (der es vielleicht doch nicht lassen kann...;)

- --
Dijkstra probably hates me
(Linus Torvalds, in kernel/sched.c)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFBZRbAwIxadslE1pkRAq6SAJ9gvYTTlKRvVR3H2RN1bmCjaZ2oaACeNcTT
kT8BOFzV1Dm1WAQK9wdZUSE=
=9dbE
-----END PGP SIGNATURE-----



More information about the Linux-support mailing list