Toon posts:

[perl] automatisch starten van perl applicatie

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een programma in perl geschreven. Dit programma zoekt kort samengevat een groot aantal gegevens uit zeer grote tekstbestanden. Deze specifieke gegevens die aan bepaalde criteria voldoen worden in automatisch gegenereerde htm tabellen geplaatst.

Om dit programma te laten werken, start je dos, ga je naar de map met het programma, typ je perl programma_naam.pl
Vervolgens start het programma en moet je als gebruiker een optie van het programma kiezen door een cijfer 1 tot 6 (optie 6 bouw ik vanavond in: Bewerkte bronnen met minder dan 1000 vindplaatsen) in te typen. Vervolgens draait het programma en moet je zelf het html bestand opsporen en openen.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
D:\TEMP>perl bron.pl
Waar moet naar worden gezocht?
-Druk 1 voor geuniformeerde en gedateerde bronnen.
-Druk 2 voor TE BEWERKEN bronnen.
-Druk 3 voor geuniformeerde en gedateerde bronnen met meer dan 1000 vindplaatsen
.
-Druk 4 voor TE BEWERKEN bronnen met MEER dan 1000 vindplaatsen.
-Druk 5 voor TE BEWERKEN bronnen met MINDER dan 1000 vindplaatsen.
1
Bezig met D:/Dirk2//invoerbestanden/bronnenlijstA2002-18-06.txt...
Bezig met D:/Dirk2//invoerbestanden/bronnenlijstB2003-17-03.txt...
Bezig met D:/Dirk2//invoerbestanden/bronnenlijstC2003-14-07.xml...
Bezig met D:/Dirk2//invoerbestanden/bronnenlijstD2003-07-10.xml...
Bezig met D:/Dirk2//invoerbestanden/bronnenlijstE2003-10-11.xml...
Bezig met D:/Dirk2//invoerbestanden/bronnenlijstF2004-09-01.xml...
Bezig met D:/Dirk2//invoerbestanden/bronnenlijstG2004-25-05.xml...
Bezig met D:/Dirk2//invoerbestanden/bronnenlijstH2004-31-08.xml...
Bezig met D:/Dirk2//invoerbestanden/bronnenlijstI2004-03-09.xml...
Bezig met D:/Dirk2//invoerbestanden/bronnenlijstJ2004-01-10.xml...
Bezig met D:/Dirk2//invoerbestanden/Voorlopigebronnenfile.txt...
Geuniformeerde en gedateerde bronnen zijn opgezocht!
D:\TEMP>

Nu zou ik graag als laatste stap ook dit proces geheel automatisch laten gaan.

Hoe ik het graag zou zien:
1. gebruiker start door dubbel te klikken op het programmaicoontje het programma.
2. Vervolgens wordt automatisch de dosprompt weergegeven zodat de gebruiker de keuze kan invoeren.
3. Zodra het programma klaar is moet de dos promt gesloten worden en moet de html pagina met de uitvoer worden weergegeven.
Heel belangrijk: Het programma moet bewerkbaar kunnen blijven. Als de eigenaar een wijzing in de programma code wil aanbrengen, moet dat mogelijk zijn. Kan iemand mij vertellen hoe ik dit voor elkaar kan krijgen?

  • Kuhlie
  • Registratie: December 2002
  • Niet online
1. gewoon een snelkoppeling maken ;)
2. is dan ook al gebeurd
3a. ik neem aan dat je perl-programma de html-uitvoer wegschrijft naar een bestand? Dan kan je toch ook perl meteen deze pagina laten openen door iets als exec("start depagina.html"). Ik ken perl verder niet zo goed, maar er zit vast functionaliteit om een programma te starten in...
3b daarna afsluiten is gewoon een kwestie van niks meer doen ;)

[ Voor 3% gewijzigd door Kuhlie op 10-10-2004 18:56 . Reden: smiley weg, anders wel erg veel gesmile in m'n post ]


  • muba
  • Registratie: April 2002
  • Laatst online: 19-10-2013

muba

Prince of Persia!

Als je Perl degelijk geinstalleerd hebt, dan zou de extensie .PL al aan de Perl interpreter (perl.exe dus) gekoppeld moeten zijn. Dubbelklik op *.pl runt je perlscript dus.

Meer een kwestie van 'rtfm (and installation procedure) eer ge begint' :?

Trouwens...

code:
1
D dubbelepunt slash (*1) DIRK2 slash (*1) slash (*1, *2)


*1: Wtf? Slash onder dos als path-delimiter? Niet zo fraai van je. Ok, ik weet dat Perl het ondersteunt, maar boeie.
*2: Wtf, slashslash? Mja, ok, http:// en ftp://, maar d:/dirk2// is toch wel beangstigend.

[ Voor 45% gewijzigd door muba op 10-10-2004 19:25 ]

Reporter: Mister Gandhi, what do you think of western civilisation?
Gandhi: I think it would be a good idea


  • Kuhlie
  • Registratie: December 2002
  • Niet online
ik denk dat windows-perl bij het lezen van bestanden / converteert naar \, bovendien vervangt windows dubbele backslashes door enkele...

Verwijderd

Kuhlie schreef op 10 oktober 2004 @ 19:52:
ik denk dat windows-perl bij het lezen van bestanden / converteert naar \, bovendien vervangt windows dubbele backslashes door enkele...
Niet precies. Dit is allebei normaal gedrag van Windows, en komt niet alleen door Perl. Als path delimiter mag onder Windows zowel / als \ gebruikt worden. \ is de standaard, maar / werkt dus ook. Bovendien worden meerdere path delimiters na elkaar geïnterpreteerd als één path delimiter. Dus je kunt zoveel slashes en backslashes achter elkaar zetten als je wilt, ze tellen als 1.

Om op de TS' vragen terug te komen: ik weet niet welke Perl je geïnstalleerd hebt, maar als je ActivePerl installeert, dan worden .pl files al geassociëerd met de interpreter, en ze krijgen er nog een mooi icoontje bij ook. Je kunt het associëren natuurlijk ook met de hand doen, en je kunt ook gewoon een snelkoppeling gebruiken zoals Kuhlie al opgemerkt heeft.

Verder moet je even uitkijken dat `start', als in, "start blabla.html" een interpreter commando is en geen aparte executable (dwz, er bestaat geen start.exe). Je moet deze opdracht dus door de command-interpreter (cmd.exe) heen halen. Dat is dus iets als

code:
1
2
3
exec("cmd.exe /c start c:\dir\blaat.html");
-OF-
system("start c:\dir\blaat.html");


...maar dan in Perl-equivalent (wat ik niet ken, maar dat kun je vast wel opzoeken).

[ Voor 3% gewijzigd door Verwijderd op 10-10-2004 20:30 ]


  • muba
  • Registratie: April 2002
  • Laatst online: 19-10-2013

muba

Prince of Persia!

Verwijderd schreef op 10 oktober 2004 @ 20:29:
[...]


Niet precies. Dit is allebei normaal gedrag van Windows, en komt niet alleen door Perl. Als path delimiter mag onder Windows zowel / als \ gebruikt worden. \ is de standaard, maar / werkt dus ook. Bovendien worden meerdere path delimiters na elkaar geïnterpreteerd als één path delimiter. Dus je kunt zoveel slashes en backslashes achter elkaar zetten als je wilt, ze tellen als 1.
False. Ik ben Win98 gebruiker en een forward slash (/) zal echt niet herkend worden als path delimiter door het OS. In Windows XP (gebruik ik op mijn laptop) kun je dit instellen (Tweak UI) en daar heb ik het uitgeschakeld. Een backslash (\) is de path delimiter, een slash niet.

Ok, dat "\\" mag, vooruit. Maar zeg nou zelf, erg fraai ziet het er niet uit.

[ Voor 7% gewijzigd door muba op 11-10-2004 12:12 ]

Reporter: Mister Gandhi, what do you think of western civilisation?
Gandhi: I think it would be a good idea

Pagina: 1