[megoldva =D] Perl pársoros - csak úgy...

sziasztok!

a Perl könyvben, amiből tanulok, egy érdekes kódot olvastam.

így néz ki, és elvileg ugyanazt kéne csinálnia, mint ennek.

látom én, hogy az utolsó # körül van vmi nem oké, csak hát még normális perl kódot sem nagyon tudok írni, nemhogy ilyen "monsztát" :D, így gőzöm sincs, hogyan lehetne az első kódot mégis működésre bírni.

ha esetleg valaki ír valamit erre, azt előre is megköszönöm :)

Hozzászólások

Ha az masodikat akarod for ciklusra atirva:


#!/usr/bin/perl -w
use strict;

print "Please enter a string: ";
chomp(my $string = <STDIN>);
print "Please enter a substring: ";
chomp(my $sub = <STDIN>);

my @places;
for (my $pos = -1; -1 != ($pos = index ($string,$sub,$pos +1));	push (@places, $pos)) {};
print "Locations of '$sub' in '$string' were: @places\n";

De ha elmondod milyen kimenetet kene kapni egy pelda utan az elsore akkor ossze rakhatunk mast is.

Amit nem lehet megirni assemblyben, azt nem lehet megirni.

köszönöm, kipróbálom! :)

lényegében csak a számokat szerettem volna kimenetnek, amik megmondják, hol van a stringben a keresett substring.

amit nem értek, és nagyon érdekelne az első kóddal kapcsolatban, az az, hogy miért van ' '-k között az a for ciklus, és hogy mit keresnek ott a #-k, amik nyilvánvalóan nem komment szándékkal kerültek oda.

egyszer csak megtanulok kérdezni...

________________________________________________________
"I do not fear computers. I fear the lack of them."
/ Isaac Asimov /

Annyi a problémája, hogy a végén van egy fölös }.

(Ha nem számítjuk a rossz indentálást, a '+'-ok és zárójelek redundáns használatát és a fölösleges 19.,20. sort, ami kvázi ki van kommentezve)

ehm, egen... ez a kód egy harmadikféle, obfuscated megoldása szándékozott lenni ugyanannak az egyszerű problémának, de ezek szerint túl jól sikerült nekik :D

szóval a belső for ciklus le sem fut, mert '' között olyan, mintha akármi szöveget beírtam volna, jól értem...?

________________________________________________________
"I do not fear computers. I fear the lack of them."
/ Isaac Asimov /

for (my $pos = -1; -1 != ($pos = index $string, $sub, $pos+1); push @places, $pos) {
pop @places;
}

lehámoztam róla azt a réteget, ez így már majdnem olyan, mint amit turul16 írt, de mégsem jó egészen, szóval a @places tartalmát külön 1 print-tel kiíratom és akkor vagyok ugyanott.

________________________________________________________
"I do not fear computers. I fear the lack of them."
/ Isaac Asimov /