Program co vypisuje sebe
Roztocil Bohuslav
Bohuslav.Roztocil na tconsult.cz
Čtvrtek Duben 22 09:36:58 MEST 1999
> Klid. Je to jenom takovy zertik, ktery nedela nic rozumneho, pouze
> vytiskne svuj vlastni zdrojovy kod (caste treba na cviceni z pascalu
> nebo c). Zadny pristup na disk, vsechno je ulozeno ve zdrojaku
> programu. Je to proste takovy logicky hlavolam a clovek si musi davat
> pozor, aby se nezarekurzil :-)
>
> David Rohleder
davro na ics.muni.cz
Rozumím-li tomu správně, program nemá vypsat svůj zdroják, ale výstup
programu má být shodný se zdrojákem programu. Jsou-li později v programu
provedeny nějaké úpravy, které namají na mysli předchozí požadavek,
nemusí
již být předchozí požadavek splněn. Jest tak?
Třeba tento program vyhovuje Vašemu zadání?
#!/usr/bin/perl -w
use strict;
my $prg = <<'.';
#!/usr/bin/perl -w
use strict;
my $prg = <<'.';
x
$prg =~ s/^x$/$prg./m;
print "$prg\n";
.
$prg =~ s/^x$/$prg./m;
print "$prg\n";
Pro ilustraci mé připomínky: pokud teď změním 2. řádek na
use strict; # aby se hlásily nedeklarované proměnné
nebude změněný program vyhovovat zadání. Ale původní ano.
Bob
Daląí informace o konferenci Perl