SkÃ¥ne Sjælland Linux User Group - http://www.sslug.dk Forside   Tilmelding   Postarkiv   Forum   Kalender   Søg
MhonArc Dato: [Date Prev] [Kronologisk oversigt] [Date Next]   TrÃ¥d: [Date Prev] [Oversigt trÃ¥de] [Date Next]   MhonArc
 

Re: [PERL] Open fil sluttende på ' '



* Jacob Eiler (sslug@sslug) [2000-09-03 16:57]:
> Ole Tange wrote:
>
> > [ Snip: Whitespace-sjov ]
> 
> Jeg har ingen problemer med ovenstaaende. Mon ikke det
> er et escape problem med dine shell?

Hmm. Hvis du ikke har problemer må du have en meget speciel perl (eller
også misforstod jeg Ole's mail...).

Jeg forstod det sådan at Ole undrede sig over at 

  open FILE, 'file '

faktisk åbner filen 'file' og IKKE 'file ' som man måske ønsker. Men der
er (som altid med Perl) er en god grund til den lidt mystiske opførsel.
Jeg tillader mig nedenfor at quote fra man-siden som foklarer det
glimrende, men den korte historie er at man må vælge mellem 

  open FILE, $ARGV[0];       # her kan man skrive:  prog.pl 'date|'

og

  open FILE, "<", $ARGV[0];  # her kan man skrive:  prog.pl 'fil '

men man kan altså ikke få begge fordele :-).

Fra "man perlfunc":

       Use 3-argument form to open a file with arbitrary
       weird characters in it,

           open(FOO, '<', $file);

[ ... ]

       One should conscientiously choose between the the
       magic and 3-arguments form of open():

           open IN, $ARGV[0];

       will allow the user to specify an argument of the
       form `"rsh cat file |"', but will not work on a
       filename which happens to have a trailing space,
       while

           open IN, '<', $ARGV[0];

       will have exactly the opposite restrictions.

mvh

 - Peter



 
Forside   Tilmelding   Postarkiv   Oversigt   Kalender   Søg

 
 
Henvendelse vedrørende websiderne til <www_admin>. Senest ændret 2005-08-10, klokken 19:53
Denne side vedligeholdes af MHonArc .