Hallo Liste, ich weiß, dass das hier etwas OT ist, aber ich weiß gerade keine andere Möglichkeit, wo ich fragen könnte und Buch etc. habe ich auch keines. Also nun die Frage: Kann man einem Perl-Script über die Shell einen oder mehrere Parameter übergeben? Und wenn ja, wie? Ich habe mir nämlich ein kleines Perlprogramm gebastelt, das Unix-Textdateien in Windows-Textdateien umwandelt (duconv wandelt ja leider die Umlaute auch mit um, was für Windows falsch ist). Jetzt würde ich dieses auch gerne über Parameter »bedienen« könne. MfG Bernhard -- ---- L I N U X ---- Während andere noch neu starten, wird mit Linux schon gearbeitet. Homepage: <http://www.linuxinfopage.de> Registrierter User: # 171705 <http://counter.li.org> --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Hallo, Bernhard Walle schrieb:
Kann man einem Perl-Script über die Shell einen oder mehrere Parameter übergeben? Und wenn ja, wie? Klar! "perlskript PARAM0 PARAM1 PARAM2..." Perl speichert alle Parameter in @ARGV. Schau doch mal auf Deiner Linuxkiste unter /usr/doc/packages/perlref/refbase.ps!! Notfalls von der SuSE-CD nachinstallieren. Das ist die Perl-Kurzrefernz von O'Reilly.
Ciao, Meini. -- Meinhard Schneider meini@meini.org; #ICQ:22574951 http://www.meini.org GNUPG/PGP-Keys available! (please contact me or visit my homepage) --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Bernhard Walle schrieb:
Kann man einem Perl-Script über die Shell einen oder mehrere Parameter übergeben? Und wenn ja, wie?
Am einfachsten mit shift: $var1 = shift; $var2 = shift; $var3 = shift; hift benutzt @ARGV als Default und schneidet jeweils das erste Element ab. Falls Du @ARGV also später nicht mehr brauchst und die Zahl der Argumente immer gleich ist, geht es so am einfachsten. Natürlich ist das keine universelle Lösung. Für ein umfangreicheres Programm, das verschiedene Optionen und Argumente entgegennehmen kann, benutzt Du am besten eines der Getopt-Module (Getopt::Std oder Getopt::Long). - Matthias --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Hallo Bernhard, Bernhard Walle wrote:
Kann man einem Perl-Script über die Shell einen oder mehrere Parameter übergeben?
Und wenn ja, wie?
Ich habe mir nämlich ein kleines Perlprogramm gebastelt, das Unix-Textdateien in Windows-Textdateien umwandelt (duconv wandelt ja leider die Umlaute auch mit um, was für Windows falsch ist). Jetzt würde ich dieses auch gerne über Parameter »bedienen« könne.
Siehe die anderen Mails. Es gibt fuer dich evtl. auch noch eine Interessante Alternative: #!/usr/bin/perl -i while(<>) { s/laber/blubber/; print $_; } Damit kannst du nun wie folgt aufrufen: convert.pl file1 file2 file3 ... *ALLE* Dateien werden der Reihe nach geoeffnet, ersetzt (laber durch blubber, _das_ solltest du entsprechend anedern :) und dann ueberschrieben. Dafuer sort zum einen das "-i" am Anfang und dann eben das wheil(<>), das jede Datei der Reihe nach Zeile fuer Zeile einliest. [ Entnommen aus: Perl Annotated Archives von Martin Brown, S. 8] Nette Konstruktion finde ich... :-) Tschuess, Jan --
Jan Theofel * mailto: jan@theofel.de * http://www.theofel.de/ <<<
Check AniTMT, a free software to create photorealistic animations: German: http://www.anitmt.de/ English: http://www.anitmt.org/ --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
On Mit, 30 Aug 2000, Jan Theofel wrote:
Ich habe mir nämlich ein kleines Perlprogramm gebastelt, das Unix-Textdateien in Windows-Textdateien umwandelt (duconv wandelt ja leider die Umlaute auch mit um, was für Windows falsch ist). Jetzt würde ich dieses auch gerne über Parameter »bedienen« könne. Siehe die anderen Mails. Es gibt fuer dich evtl. auch noch eine Interessante Alternative:
warum nicht gleich "unix2dos" verwenden ? dein konstrukt erzeugt immer noch keine ^M als zeilen-trenner, und die verwendet dos/windows ja zu gerne ;) Mit freundlichen Grüßen, Joerg Henner. -- LinuxHaus Stuttgart | Tel.: +49 (7 11) 2 85 19 05 J. Henner & A. Reyer, Datentechnik GbR | D2: +49 (1 72) 7 35 31 09 | Fax: +49 (7 11) 5 78 06 92 Linux, Netzwerke, Consulting & Support | http://lihas.de --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Hallo,
Ich habe mir nämlich ein kleines Perlprogramm gebastelt, das Unix-Textdateien in Windows-Textdateien umwandelt (duconv wandelt ja leider die Umlaute auch mit um, was für Windows falsch ist). Jetzt würde ich dieses auch gerne über Parameter »bedienen« könne. Siehe die anderen Mails. Es gibt fuer dich evtl. auch noch eine Interessante Alternative:
warum nicht gleich "unix2dos" verwenden ? dein konstrukt erzeugt immer noch keine ^M als zeilen-trenner, und die verwendet dos/windows ja zu gerne ;)
mal ne dumme Frage, habt ihr es schon mal mit nem FTP-Programm versucht und die übertragungsart auf ascii gestellt? Dann habt ihr die Probleme mit dem ^M nicht und die Daten müssen ja schließlich sowieso irgendwie zwischen linux <--> windows ausgetauscht werden. Dietrich --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Hallo, On Mit, 30 Aug 2000, Dietrich Heise wrote:
Ich habe mir nämlich ein kleines Perlprogramm gebastelt, das Unix-Textdateien in Windows-Textdateien umwandelt (duconv wandelt ja leider die Umlaute auch mit um, was für Windows falsch ist). Jetzt würde ich dieses auch gerne über Parameter »bedienen« könne. Siehe die anderen Mails. Es gibt fuer dich evtl. auch noch eine Interessante Alternative:
warum nicht gleich "unix2dos" verwenden ? dein konstrukt erzeugt immer noch keine ^M als zeilen-trenner, und die verwendet dos/windows ja zu gerne ;)
mal ne dumme Frage, habt ihr es schon mal mit nem FTP-Programm versucht und die übertragungsart auf ascii gestellt? Dann habt ihr die Probleme mit dem ^M nicht und die Daten müssen ja schließlich sowieso irgendwie zwischen linux <--> windows ausgetauscht werden.
Und wie soll ich gleichzeitig mein Windows und Linux auf derselben Platte starten (ohne VMWare) und die Textdateien austauschen? MfG Bernhard -- ---- L I N U X ---- Während andere noch neu starten, wird mit Linux schon gearbeitet. Homepage: <http://www.linuxinfopage.de> Registrierter User: # 171705 <http://counter.li.org> --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
On Mit, 30 Aug 2000, Bernhard Walle wrote:
Und wie soll ich gleichzeitig mein Windows und Linux auf derselben Platte starten (ohne VMWare) und die Textdateien austauschen?
mounte doch einfach die Win-Partition unter linux - und dann kannst du kopieren ....oder ganz krank: "ftp localhost" und dann wie genannt im ASCII-Mode die files durch die gegend schieben *grins* Mit freundlichen Grüßen, Joerg Henner. -- LinuxHaus Stuttgart | Tel.: +49 (7 11) 2 85 19 05 J. Henner & A. Reyer, Datentechnik GbR | D2: +49 (1 72) 7 35 31 09 | Fax: +49 (7 11) 5 78 06 92 Linux, Netzwerke, Consulting & Support | http://lihas.de --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Hallo, On Mit, 30 Aug 2000, Joerg Henner wrote:
On Mit, 30 Aug 2000, Bernhard Walle wrote:
Und wie soll ich gleichzeitig mein Windows und Linux auf derselben Platte starten (ohne VMWare) und die Textdateien austauschen?
mounte doch einfach die Win-Partition unter linux - und dann kannst du kopieren ....oder ganz krank: "ftp localhost" und dann wie genannt im ASCII-Mode die files durch die gegend schieben *grins*
Stimmt auch wieder. OK, daran habe ich gar nicht gedacht ;) Aber da ich das Programm jetzt schon geschrieben habe, wird es auch verwendet. Außerdem ist es bei einzelnen Dateien einfacher. Oft habe ich ein Bashskript (das bei Java-Programmen beiliegt), das mit \r\n geschrieben wurde und das dann mit Linux nicht funktioniert. Für so eine einzelne Datei ist FTP dann etwas umständlich (mit dem Konsolen-FTP kenne ich mich nicht aus, daher muss ich sowas wie Axy-FTP benutzen). MfG Bernhard -- ---- L I N U X ---- Während andere noch neu starten, wird mit Linux schon gearbeitet. Homepage: <http://www.linuxinfopage.de> Registrierter User: # 171705 <http://counter.li.org> --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Hallo,
Ich habe mir nämlich ein kleines Perlprogramm gebastelt, das Unix-Textdateien in Windows-Textdateien umwandelt (duconv wandelt ja leider die Umlaute auch mit um, was für Windows falsch ist). Jetzt würde ich dieses auch gerne über Parameter »bedienen« könne. Siehe die anderen Mails. Es gibt fuer dich evtl. auch noch eine Interessante Alternative:
warum nicht gleich "unix2dos" verwenden ? dein konstrukt erzeugt immer noch keine ^M als zeilen-trenner, und die verwendet dos/windows ja zu gerne ;)
mal ne dumme Frage, habt ihr es schon mal mit nem FTP-Programm versucht und die übertragungsart auf ascii gestellt? Dann habt ihr die Probleme mit dem ^M nicht und die Daten müssen ja schließlich sowieso irgendwie zwischen linux <--> windows ausgetauscht werden.
Und wie soll ich gleichzeitig mein Windows und Linux auf derselben Platte starten (ohne VMWare) und die Textdateien austauschen?
Sorry, ich dachte es handelt sich um zwei Rechner. Ist es aber nicht doch möglich? ftp user@localhost und dann die Dateien verschieben oder auch schon mal an WINE gedacht? Dietrich --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Hallo, On Mit, 30 Aug 2000, Dietrich Heise wrote:
Ich habe mir nämlich ein kleines Perlprogramm gebastelt, das Unix-Textdateien in Windows-Textdateien umwandelt (duconv wandelt ja leider die Umlaute auch mit um, was für Windows falsch ist). Jetzt würde ich dieses auch gerne über Parameter »bedienen« könne. Siehe die anderen Mails. Es gibt fuer dich evtl. auch noch eine Interessante Alternative:
warum nicht gleich "unix2dos" verwenden ? dein konstrukt erzeugt immer noch keine ^M als zeilen-trenner, und die verwendet dos/windows ja zu gerne ;)
mal ne dumme Frage, habt ihr es schon mal mit nem FTP-Programm versucht und die übertragungsart auf ascii gestellt? Dann habt ihr die Probleme mit dem ^M nicht und die Daten müssen ja schließlich sowieso irgendwie zwischen linux <--> windows ausgetauscht werden.
Und wie soll ich gleichzeitig mein Windows und Linux auf derselben Platte starten (ohne VMWare) und die Textdateien austauschen?
Sorry, ich dachte es handelt sich um zwei Rechner. Ist es aber nicht doch möglich? ftp user@localhost und dann die Dateien verschieben
Ja, siehe mein anders Posting (Antwort auf Jörg)
oder auch schon mal an WINE gedacht?
Die armen Spatzen, auf die mit Kanonen geschossen wird. Meinst Du nicht, dass es »etwas« übertrieben ist, Wine anzuwerfen, um eine Textdatei zu konvertieren. Oder rufst Du auch StarOffice Calc oder Excel mit Wine auf, um 1+1 zu rechnen. ;) MfG Bernhard -- ---- L I N U X ---- Während andere noch neu starten, wird mit Linux schon gearbeitet. Homepage: <http://www.linuxinfopage.de> Registrierter User: # 171705 <http://counter.li.org> --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Hallo,
Sorry, ich dachte es handelt sich um zwei Rechner. Ist es aber nicht doch möglich? ftp user@localhost und dann die Dateien verschieben
Ja, siehe mein anders Posting (Antwort auf Jörg)
oder auch schon mal an WINE gedacht?
Die armen Spatzen, auf die mit Kanonen geschossen wird. Meinst Du nicht, dass es »etwas« übertrieben ist, Wine anzuwerfen, um eine Textdatei zu konvertieren.
Oder rufst Du auch StarOffice Calc oder Excel mit Wine auf, um 1+1 zu rechnen. ;)
Ich dachte nur du brauchst die Datei unter Windows, dann musst Du ja sogar noch neu booten! Mit WINE hast Du doch beides die Textdatei(unter linux) und Windows(Wine). PS:Ich kenn jemanden der mit CDRWIN unter WINE ne CD gebrannt hat. Dietrich --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Hallo, On Mit, 30 Aug 2000, Dietrich Heise wrote:
Die armen Spatzen, auf die mit Kanonen geschossen wird. Meinst Du nicht, dass es »etwas« übertrieben ist, Wine anzuwerfen, um eine Textdatei zu konvertieren.
Oder rufst Du auch StarOffice Calc oder Excel mit Wine auf, um 1+1 zu rechnen. ;)
Ich dachte nur du brauchst die Datei unter Windows, dann musst Du ja sogar noch neu booten! Mit WINE hast Du doch beides die Textdatei(unter linux) und Windows(Wine).
Wenn ich Windows brauche, dann meist aus einem der folgenden Gründe: - Homebanking mit StarMoney - was hochqualitatives Drucken (ich schau mir mal TurboPrint an, mein Drucker wird unterstützt, installiert ist's auch schon nur leider ist das Ding gerade kaputt :-( ) - was Scannen - meine Internetseiten mit dem IE »endüberprüfen« Und dafür ist Wine wohl nicht die richtige Wahl. Da habe ich schneller neu gebootet. MfG Bernhard -- ---- L I N U X ---- Während andere noch neu starten, wird mit Linux schon gearbeitet. Homepage: <http://www.linuxinfopage.de> Registrierter User: # 171705 <http://counter.li.org> --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
participants (6)
-
Bernhard.Walle@gmx.de
-
heise@stud.uni-hannover.de
-
jan@theofel.de
-
jhe@lihas.de
-
Matthias.Kleine@selflinux.de
-
meini@meini.org