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] Læse fra pipe med input fra andetprogram.



"Peter á Rógvu" <sslug@sslug> writes:

> Hej tak for svaret, men det er ikke helt det jeg ville have fat i.
> Når man piper output over i scriptet læser den det fint nok ind, men
> problemt er når man
> ikke bruger pipe. f.eks kalder scriptet således .
> # ./perlscriptet.pl

Du vil altså gøre forskel på om stdin er en pipe fra et andet program
eller terminalen?

Så skal du bruge isatty()-funktionen fra POSIX-modulet:

#!/usr/bin/perl

use POSIX qw(isatty);

[...]

unless (isatty(STDIN)) {
    while (<>) {
        [... læs inddata ...]
    }
}

[...]

-- 
 Peter Makholm     |              I have no caps-lock but I must scream...
 sslug@sslug |                                               -- Greg
 http://hacking.dk |                                                      


 
Forside   Tilmelding   Postarkiv   Oversigt   Kalender   Søg

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