|
|||||||||||||||||||||||||||
Hej.
Google og du skal finde...
> Jeg har et script, som skal tage standard input - hvis der er noget, men
> ellers ignorere det.
>
> Hurtigt eksempel:
>
> test.pl:
> #!/usr/bin/perl
> #
> while (<>) {
> print;
> }
Jeg har stadig ikke helt fundet ud af hvad det betyder, men følgende, som
er fundet på comp.lang.perl.misc og næsten råt genbrugt, gør hvad jeg
ønsker. Jeg må dog indrømme at jeg er lidt usikker på om jeg har fået
ødelagt noget med hensyn til STDOUT...
test2.pl:
#!/usr/bin/perl
#
$rin = $rout = '';
vec($rin, fileno(STDIN), 1) = 1;
$readable = select($rout=$rin, undef, undef, 0) | -f $ARGV[0];
if ($readable) {
while (<>) {
print;
}
} else {
printf("No standard input detected\n");
}
Som sagt, så er jeg lidt usikker på hvad der sker med "vec" og "select"...
Med venlig hilsen
Bjørn Bille Højte
sslug@sslug
|
||||||||||||||
|
||||||||||||||