SkÃ¥ne Sjælland Linux User Group - http://www.sslug.dk Förstasida   Anmälning   Postarkiv   Forum   Kalender   Sök
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 |                                                      


 
Förstasida   Anmälning   Postarkiv   Översikt   Kalender   Sök

 
 
Fel och synpunkter angående webb-sidorna skickas till <www_admin>. Senaste ändring 2005-08-10, klockan 19:55
Denna sidan underholds av MHonArc .