perl script - rozdelovanie txt suborov

Sekcia: Programovanie 07.10.2008 | 01:43
Avatar miso PClinuxOS 2009.1  Používateľ
ahoj vo spolok,
chcem poprosit o najdenie chyby v tomto skripte

jeho ulohou ma byt rozsekat txt subor na mensie casti, tak aby sa dal citat na ipode.

dopredu dik

bud mi to vyhodi:
bash: ./makenotes.pl: /usr/bin/perl^M: bad interpreter: No such file or directory

alebo:
sh makenotes.pl ischemia.txt
makenotes.pl: line 4: local: can only be used in a function
makenotes.pl: line 4: =1: command not found
: command not found4:
makenotes.pl: line 5: syntax error near unexpected token `@ARGV'
'akenotes.pl: line 5: `unless (@ARGV) {
Linux????? DUH!<br/> Distro that BLOODY WORKS<br/> sorry, ze som niekedy zly, myslim to v dobrom
    • Re: perl script - rozdelovanie txt suborov 07.10.2008 | 02:30
      Avatar Zefram Cochrane MS Windows Vista Ultimate 64bi  Používateľ
      Za predpokladu ze /usr/bin/perl existuje (hod sem vypis "which perl"), urobil by som toto:

      dos2unix makenotes.pl
      chmod +x makenotes.pl
      ./makenotes.pl ischemia.txt

      ale asi by som pouzil split namiesto toho perl skriptu
      • Re: perl script - rozdelovanie txt suborov 07.10.2008 | 14:54
        Avatar miso PClinuxOS 2009.1  Používateľ
        dakujem tisic krat, funguje, vies mi vysvetlit aj background, uz ked sme pri tom?

        dakujem este raz

        PS:perl som mal inst.
        Linux????? DUH!<br/> Distro that BLOODY WORKS<br/> sorry, ze som niekedy zly, myslim to v dobrom
        • Re: perl script - rozdelovanie txt suborov 07.10.2008 | 15:09
          Avatar Zefram Cochrane MS Windows Vista Ultimate 64bi  Používateľ
          ^M je dosovsky koniec riadku, dos2unix konvertuje konce riadkov na unixove
          • Re: perl script - rozdelovanie txt suborov 07.10.2008 | 21:03
            Avatar miso PClinuxOS 2009.1  Používateľ
            vdaka
            Linux????? DUH!<br/> Distro that BLOODY WORKS<br/> sorry, ze som niekedy zly, myslim to v dobrom
    • Re: perl script - rozdelovanie txt suborov 07.10.2008 | 10:54
      Avatar majkro Linux for USER,servery-Debian  Používateľ
      Na cem ze to chces citat? Co to je? :-D :-D :-D :-D
    • Re: perl script - rozdelovanie txt suborov 07.10.2008 | 11:11
      _fp_   Návštevník
      predpokladam ze perl interpreter bude v /usr/bin/perl a nie /usr/bin/perl^M :-)
      nebezal som ten skript, ale "^M" mas mozno na konci kazdeho riadku
      • Re: perl script - rozdelovanie txt suborov 07.10.2008 | 19:31
        WlaSaTy   Návštevník
        Hehe, zdrojak editovany v dose alebo windose. Myslim ze staci zrusit to ^M z kazdeho riadku:
        cat makenotes.pl | tr -d "\r" > makenotes-2.pl
        a otestovat:
        perl ./makenotes-2.pl
        Postup je na prehodenie do windos formatu je podobny:
        cat makenotes-2.pl | tr -s "\n" "\n\r" > makenotes.pl

        Je to len koli tomu ze microsoft si povedal ze novy riadok sa bude skladat z 0x0d 0x0a, teda z dvoch znakov. V unix like OS to je len 0x0a a stare MACy s OS Classic mali pre zmenu len 0x0d.
        • Re: perl script - rozdelovanie txt suborov 07.10.2008 | 21:03
          Avatar miso PClinuxOS 2009.1  Používateľ
          velka vdaka, zase o nieco mudrejsi :)
          Linux????? DUH!<br/> Distro that BLOODY WORKS<br/> sorry, ze som niekedy zly, myslim to v dobrom
          • Re: perl script - rozdelovanie txt suborov 07.10.2008 | 22:03
            WlaSaTy   Návštevník
            mimochodom, nastroje dos2unix a unix2dos su presne stavane na zmenu koncov riadkov pre textove subory medzi dos/windos a unixami, ale tr je univerzalnejsie.