Dear list
I want to capture the output of w and then I want to do some job as per the
o/p of w command in my linux system. So i have written the code as follows

use strict;
use warnings;

open (LS, "w|") or die "can't open w: $!";
my @arr = <LS>;
close (LS);
shift @arr;
shift @arr;
my($one,$two,$three,$four,$five,$six,$seven,$eight);

foreach my $el(@arr)
 {
  ($one,$two,$three,$four,$five,$six,$seven,$eight) = split(/ /,$el);
   print $five."\n";
 }
but the problem is as per the o/p of w command I want to extract the fifth
field but by using the above code I am not able to do this. The o/p of who
command in my system is as follows

USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
bighosh  pts/1    bighosh.in.conne 13:48   38:03   0.16s  0.06s sshd:
bighosh [priv]
nchatter pts/2    nchatterjee.in.c 10:31   15:38   0.68s  0.65s -bash
anadhika pts/3    anadhikary.in.co 15:10    0.00s  0.04s  0.00s w
suray    pts/4    suray1.in.connec 12:36   46:43   0.04s  0.04s -bash
merge    pts/5    sasarkar.in.conn 12:00    5:44   0.11s  0.11s -bash
dpghosh  pts/6    dpghosh.in.conne 12:09    1:32   0.07s  0.01s sshd:
dpghosh [priv]
anadhika pts/7    anadhikary.in.co 13:50   10.00s  0.12s  0.12s -bash

I need to extract the idle column. But using my code I am getting output
like this


pts/4
pts/5

Where I am making the mistake............ please rectify.....

Thanks & Regards in advance
Anirban Adhikary

Reply via email to