fce system: stdin

Jiri Polcar polcar na physics.muni.cz
Úterý Říjen 1 16:39:02 MEST 2002


 
On Tue, Oct 01, 2002 at 03:58:24PM +0200, Marian Cavojsky wrote:
> On Tue, Oct 01, 2002 at 03:35:45PM +0200, Jiri Polcar wrote:
> >     Zdravim,
> > 
> > potrebuju pustit program pomoci fce system tak, abych mu predal obsah
> > souboru na standartni vstup. Jak to mam udelat?
> > 
> >     system "program", @arv, "<$file";
> > 
> > samozrejme nefunguje (retezec "<$file" je interpretovan jako parametr),
> > jen chci naznacit, co presne porebuji.
> 
> perl -e '$file = "subor.txt"; system "sort <$file";'
> 

To ovsem nefunguje, bdrzi-li fce system vic argumentu nebo pole s vic
nez jednim prvkem. Pak totiz bere prvni prvek jako nazev programu a
ostatni jako jeho argumenty.

A ja potrebuji predat seznam argumentu @arv. Pokud bych napsal napr.:

    system "cat $file | program", @arv;

Perl by se pokusil pustit program s nazvem "cat $file | program", ktery
by patrne nenasel...

-- 
JP


Další informace o konferenci Perl