|
|||||||||||||||||||||||||||
* 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
|
||||||||||||||
|
||||||||||||||