Sprava vice instalaci programu

Peter Surda shurdeek na routehat.org
Sobota Duben 30 23:06:39 CEST 2005


On Sat, Apr 30, 2005 at 09:31:42PM +0200, Jan Kasprzak wrote:
> 	Vyhoda tech ifu je ta, ze je na prvni pohled videt, ze na jedne
> z instalaci se tady dela neco specialniho. Nevyhoda je ze ten test a cely
> kod se takto kopiruje na vice instalaci nez musi byt.
A co tak nieco taketo:

sub volaj_subrutinu
{
	my $num = shift;
	my $file = "/etc/program/subrutina".$num.".pl";
	if (-x $file) {
		system ($file);
		return 1;
	}
	return 0;
}

a v kode:

unless (volaj_subrutinu(342)) {
	urob_defaultnu_akciu_342;
}

unless (volaj_subrutinu(343)) {
	urob_defaultnu_akciu_343;
}

A do /etc/program napchas na kazdej masine modifikacie.

Samozrejme ze sa to da este zoptimalizovat, ale uz takto to dokaze pomoct. Pri
kodeni ti staci odpovedat si na otazku, ci je dotycna cast potencialne
modifikovatelna na roznych systemoch, a ked hej, priradis jej cislo (teda
vlastne to nemusi byt cislo, moze to byt lubovolny identifikator) a das to do
unless resp. ifu. A ked sa na nejakom systeme vyskytne poziadavka modifikacie,
tak jednoducho vytvoris novy subor a napises tam odlisnu akciu, ale nemusis
inac nic menit.

Pripadne ako som uz pisal, namiesto system sa da podla potreby pouzit aj use,
require alebo eval.

> -Y.
S pozdravom,

Peter Surda (Shurdeek) <shurdeek na routehat.org>, ICQ 10236103, +436505122023

-- 
            It is easier to fix Unix than to live with NT.


Další informace o konferenci Linux