Perl Updaten

Perl Updaten

am 10.09.2006 17:25:36 von Reinhard Pagitsch

Hallo Ng,

Nach langem zögern hab ich mich entschlossen meine Perl Version von
5.6.1 auf die neueste zu heben. Was muß ich beachten? Kann ich die neue
Version einfach so über meine alte Version installieren oder soll ich
die alte zuerst deinstallieren?
Es ginge doch auch das ich ich beide Versionen nebeneinander Installiert
habe, oder macht das Probleme? Ich meine die neue Version als die Aktive
und bei der alten benenne ich einfach das Verzeichnis um. Ginge das?

Danke,
Reinhard


--
Antworten bitte nur an rpirpag at aon punkt at
Die Adresse im From/Replay to ist als Spamfänger gedacht und wird nicht
gelesen.
Please Visit: http://members.aon.at/rpagitsch/

Re: Perl Updaten

am 10.09.2006 17:47:40 von hjp-usenet2

On 2006-09-10 15:25, Reinhard Pagitsch wrote:
> Nach langem zögern hab ich mich entschlossen meine Perl Version von
> 5.6.1 auf die neueste zu heben. Was muß ich beachten? Kann ich die neue
> Version einfach so über meine alte Version installieren oder soll ich
> die alte zuerst deinstallieren?

Hatten wir das nicht erst kürzlich?

Das hängt hauptsächlich davon ab, wie die alte Version installiert war.
Normalerweise liegen alle Libraries und installierten Module in
Directories mit der Versionsnummer, werden also von einer
Neuinstallation mit einer anderen Versionsnummer nicht berührt. Das
Perl-Executable existiert üblicherweise auch mit Versionsnummer (Wenn Du
Perl 5.6.1 hast, solltest Du also ein Executable namens "perl5.6.1"
haben (oder vielleicht "perl561.exe" auf Windows) das ebenfalls
unberührt bleibt). Überschrieben werden u.U. Executables und Scripts ohne
Versionsnummer (perl, perldoc, cpan, ...).

Manche Distributionen (z.B. debian) entfernen die Versionsnummern aus
den Directorynamen. Das ist kein Problem, wenn Du mit
Standardeinstellungen von Source installierst (das neu installierte hat
Versionsnummern und überschreibt somit die Systeminstallation nicht),
kann aber zum Problem werden, wenn auch Deine neue Version die
Nicht-Standard-Pfade verwenden möchte (nachdem Du weder geschrieben
hast, welches OS Du verwendest, noch wie Du Perl zu installieren
gedenkst, kann man nur das schlimmste annehmen :-)).


> Es ginge doch auch das ich ich beide Versionen nebeneinander Installiert
> habe, oder macht das Probleme? Ich meine die neue Version als die Aktive
> und bei der alten benenne ich einfach das Verzeichnis um. Ginge das?

Umbenennen geht, ist aber eher mühsam, weil Du dann immer PERLLIB
entsprechend setzen musst (Oracle liefert so ein Perl aus, bei dem ohne
PERLLIB absolut gar nichts funktioniert, weil die einkompilierten Pfade
auf das Homedirectory des Entwicklers oder sowas ähnliches zeigen)

Besser ist es das neue perl so zu installieren, dass das alte erhalten
bleibt. Per default ist das der Fall.

hp

--
_ | Peter J. Holzer | > Wieso sollte man etwas erfinden was nicht
|_|_) | Sysadmin WSR | > ist?
| | | hjp@hjp.at | Was sonst wäre der Sinn des Erfindens?
__/ | http://www.hjp.at/ | -- P. Einstein u. V. Gringmuth in desd

Re: Perl Updaten

am 11.09.2006 21:49:23 von Thomas Wittek

Peter J. Holzer schrieb:
> Umbenennen geht, ist aber eher mühsam, weil Du dann immer PERLLIB
> entsprechend setzen musst

Wo wird das default-@INC eigentlich definiert? Ist das in die Executable
hart einkompiliert? Da fänd ich echt gut, wenn man das irgendwo
systemweit definieren kann (ausser in ~/.bashrc respektive
Umgebungsvariablen in Windows).

-Thomas

Re: Perl Updaten

am 12.09.2006 19:52:37 von hjp-usenet2

On 2006-09-11 19:49, Thomas Wittek wrote:
> Peter J. Holzer schrieb:
>> Umbenennen geht, ist aber eher mühsam, weil Du dann immer PERLLIB
>> entsprechend setzen musst
>
> Wo wird das default-@INC eigentlich definiert? Ist das in die Executable
> hart einkompiliert?

Ja.

> Da fänd ich echt gut, wenn man das irgendwo systemweit definieren kann
> (ausser in ~/.bashrc respektive Umgebungsvariablen in Windows).

Wo? In einen Konfigurationsfile? Wie findet Perl das Konfigurationsfile?
Damit hast Du das Problem eigentlich nur um einen Schritt verschoben.

hp

--
_ | Peter J. Holzer | > Wieso sollte man etwas erfinden was nicht
|_|_) | Sysadmin WSR | > ist?
| | | hjp@hjp.at | Was sonst wäre der Sinn des Erfindens?
__/ | http://www.hjp.at/ | -- P. Einstein u. V. Gringmuth in desd

Re: Perl Updaten

am 13.09.2006 00:26:47 von Joergen Lang

Thomas Wittek schrieb:
> Peter J. Holzer schrieb:
>> Umbenennen geht, ist aber eher mühsam, weil Du dann immer PERLLIB
>> entsprechend setzen musst
>
> Wo wird das default-@INC eigentlich definiert? Ist das in die Executable
> hart einkompiliert? Da fänd ich echt gut, wenn man das irgendwo
> systemweit definieren kann (ausser in ~/.bashrc respektive
> Umgebungsvariablen in Windows).
>
> -Thomas

Das Standard-@INC wird bei der Kompilierung festgelegt. Während das
Configure-Skript läuft, kann man eine durch Doppelpunkte getrennte Liste
angeben, die @INC erweitert. Hierfür muss das Skript interaktiv laufen
(es gibt ja die Möglichkeit, alle Standardfragen standardmäßig
beantworten zu lassen). Irgendwann gibt es dann den Dialog:

Enter a colon-separated set of extra paths to include in perl's @INC
search path, or enter 'none' for no extra paths.

Colon-separated list of additional directories for perl to search?
[none]

-> Hier kann die Liste der zusätzlichen @INC angegeben werden.


Selbstverständlich kann man @INC im Programm auch immer per

use lib 'mein_Extraverzeichnis';

erweitern.

Oder auch auf der Kommandozeile:

> perl -Mlib=mein_Extraverzeichnis -e meinprogramm.pl

Schließlich gibt es auch noch die Möglichkeit, eine Umgebungsvariable zu
setzen (z.B. in .bashrc oder /etc/profile o.ä.):

export PERL5LIB=/home/users/mein_Extraverzeichnis:$PERL5LIB

Das kommt dem gewünschten Verhalten vermutlich am nächsten.

hth,

Joergen