Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]3028[/thread]

Migrationstools ?



<< >> 9 Einträge, 1 Seite
MisterL
 2006-08-03 23:04
#28605 #28605
User since
2006-07-05
334 Artikel
BenutzerIn
[default_avatar]
Hallo.

Nach rund 4 Wochen Mitgliedschaft mein erster Beitrag hier. Aber sowas passiert, wenn man nur die Antworten und FAQ's hier zu studieren braucht um seine eigenen Probleme in den Griff zu bekommen ;-)

Trotzdem eine Frage: gibt es für Perl Applikationen ein Programm um dieses von einem Server mit einem bestimmten Betriebssystem für einen anderen Server unter einer anderen Plattform bereit zu machen ? Oder ist diesbezüglich immer noch Handarbeit angesagt ?
Man nehme z.B. an, dass jemand unter Suse Linux mit XAMPP und Windows 2000 (oder XP) und Sambar (evtl. auch WAMPP) seine Programme (primär Webapplikationen, evtl. auch DB im Hintergrund) entwicklen will. Muss man den Code hier von Hand anpassen ? Als Datenbanken stünden MySQL, Oracle 10g und SQL Server (MSDE) zur Verfügung. Die dort implementierten Datenmodelle seien aber sekundär.

Danke im Voraus
mfg MisterL

ps.: die Skripte der Netzmafia scheinen hier noch nicht bekannt zu sein, oder ? http://www.netzmafia.de/skripten/download.html
“Perl is the only language that looks the same before and after RSA encryption.”
renee
 2006-08-03 23:22
#28606 #28606
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Mir ist kein Migrationstool bekannt. Geht es Dir einfach nur um eventuelle Pfadangaben oder darum, zu überprüfen, ob bestimmte Module installiert sind?

Wenn es um die Pfade geht, empfiehlt es sich, solche Dinge in einem Konfigurations-Modul zu definieren und dieses dann im Skript zu verwenden.

Also ungefähr so:

AppConfig.pm
Code: (dl )
1
2
3
4
5
6
7
8
9
package AppConfig;

use strict;
use warnings;

our $dbuser = 'dbuser';
our $dbpass = 'dbpasswd';
our $dbname = 'dbname';
our $dbhost = 'dbhost';


Skript:
Code: (dl )
1
2
3
4
5
6
7
8
9
#!/usr/bin/perl

use strict;
use warnings;
use AppConfig;

my $dbh = DBI->connect("DBI:mysql:$AppConfig::dbhame:$AppConfig::dbhost",
$AppConfig::dbuser,$AppConfig::dbpasswd) or die $DBI::errstr;
#...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
MisterL
 2006-08-03 23:36
#28607 #28607
User since
2006-07-05
334 Artikel
BenutzerIn
[default_avatar]
Hallo nochmal.

Danke, das sieht ja schon mal ganz gut aus :). In erster Linie ging es um die Pfadangaben. Die Geschichte mit der Installation der Module und den Datenbanken hält sich da ja noch in Grenzen.

mfg MisterL
“Perl is the only language that looks the same before and after RSA encryption.”
Taulmarill
 2006-08-04 15:50
#28608 #28608
User since
2004-02-19
1750 Artikel
BenutzerIn

user image
am besten, man programmiert seine anwendung von anfang an so, dass sie leicht portiert werden kann. gerade bei Perl ist das relativ einfach.
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B
pktm
 2006-08-04 19:00
#28609 #28609
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Ich programmiere meine Anwendungen in einer immer gleichen Verzeichnisstruktur. Ob die dann bei mir auf dem heimischen PC liegt oder im Netz ist egal, da ich notfalls mit relativen Pfadangaben arbeiten kann.
http://www.intergastro-service.de (mein erstes CMS :) )
Strat
 2006-08-05 00:38
#28610 #28610
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
relative pfadangaben sind oft nicht ausreichend; relative absolute sind meist sicherer
Code: (dl )
1
2
3
use lib qw(./myLibs);
my $file = "xyz.txt";
open( my $FH, "<", $myFile ) or die $!;

besser mit FindBin in einen relativ absoluten pfad umwandeln:
Code: (dl )
1
2
3
4
use FindBin;
use lib "$FindBin::Bin/myLibs";
my $file = "$FindBin::Bin/xyz.txt";
open( my $FH, "<", $myFile ) or die $!;

oder so aehnlich
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
sid burn
 2006-08-17 23:44
#28611 #28611
User since
2006-03-29
1520 Artikel
BenutzerIn

user image
Welche Probleme kann es denn bei Relativen Pfadangaben geben? Und warum ist es vorzuziehen einen relativen Pfad vorher in einen Absoluten umzuwandeln?\n\n

<!--EDIT|sid burn|1155843900-->
Nicht mehr aktiv. Bei Kontakt: ICQ: 404181669 E-Mail: perl@david-raab.de
renee
 2006-08-18 10:18
#28612 #28612
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Stell Dir vor, Du hast das Skript in /homes/user/skripte und hast auch eine Datei, die Du einlesen willst in diesem Verzeichnis.

In dem Skript steht
Code: (dl )
1
2
3
my $file = './file.txt';
open(my $fh,'<',$file) or die $!;
#....


Wenn Du das Skript von /homes/user/skripte aus startest, dann klappt alles einwandfrei.

Wenn Du das Skript aber von /homes/user aus startest, dann versucht das Skript eine Datei /homes/user/file.txt zu öffnen, die es aber sehr wahrscheinlich nicht gibt.

Mit dem
Code: (dl )
1
2
3
use FindBin ();

my $file = $FindBin::Bin . '/file.txt';


wird das Skript immer die Datei file.txt, die im gleichen Verzeichnis wie das Skript liegt, öffnen.
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
sid burn
 2006-08-18 23:35
#28613 #28613
User since
2006-03-29
1520 Artikel
BenutzerIn

user image
@renee
Ah, danke für die Erklärung.

An solch einen Fall habe ich noch gar nicht dran gedacht.
Nicht mehr aktiv. Bei Kontakt: ICQ: 404181669 E-Mail: perl@david-raab.de
<< >> 9 Einträge, 1 Seite



View all threads created 2006-08-03 23:04.