perl kimenet less -be

Udv!

A kovetkezot szeretnem perlben.
A scriptem beolvas egy piprol atalakuitja a szoveget es printel STDOUT(vagy igazabol barmi mas handlere).
azt szeretnem elerni, hogy a kimenet a less nevu programba fusson be, magyaran lessel tudjam bengeszni a kimentet.

valami ilyesmi kene:
open(STDOUT,'|-','less');

de ez valamiert nem mukodik.

tisztan perllel szseretnem megoldani es nem shellscriptel, amiben esetleg van egy peagyazott perl...

csinalt ilyet mar valaki?
Zsolt

Hozzászólások


#! /usr/bin/perl -w
use warnings;
use strict;

open (OUTF, "|-", "/usr/bin/less");

my $i;
for ($i = 0; $i < 200; $i++) {
	print OUTF "Blah: $i\n";
}

close (OUTF);

1;

Ez mukodik nalam.

Próbálkozhatsz a Term::Pager modullal is, bár azt nem tudom, hogy a dinamikusan kreált szöveget (ami neked a bemeneti pipe-ból jött szöveg feldolgozása után előáll) szereti-e.

Ha igen, akkor az az előnye megvan, hogy hordozhatóbb lesz a scripted tőle (nem kell less hozzá).