Sponsored Content
Full Discussion: Perl - update output
Top Forums Shell Programming and Scripting Perl - update output Post 302388566 by insania on Wednesday 20th of January 2010 09:09:19 PM
Old 01-20-2010
Perl - update output

I need help with the following code. It does what i want it to, but since I clear the screen and do not update it when i finally ^C my scroll back buffer is filled with garbage. Term::Cap might not be the best way to go, i am trying to keep this to Core Modules due to the difficulties of getting things approved to be installed at work, but if not possible i am open to other modules.

Is there anyway i can just update the screen in place. Also the @host_array will be read from a file so the number of hosts can vary from day to day. Any help would be appreciated or point me in the right direction and i can figure it out.

Thanks,

Sean

Code:
#!/usr/bin/perl

use Net::Ping;
use Term::Cap;

@host_array = qw(slag sludge snarl swoop);

$terminal = Term::Cap->Tgetent( { OSPEED => 9600 } );
$clear_string = $terminal->Tputs('cl');

while(1) {
  print $clear_string;
  # High precision syntax (requires Time::HiRes)
  foreach $host (@host_array)
    {
    $p = Net::Ping->new();
    $p->hires();
    ($ret, $duration, $ip) = $p->ping($host, 5.5);
    printf("$host [ip: $ip] is down\n") unless $p->ping($host, 2);
    printf("$host [ip: $ip] is alive (packet return time: %.2f ms)\n", 1000 * $duration)
    if $ret;
    $p->close();
  }
  sleep 2;
}

 

10 More Discussions You Might Find Interesting

1. Linux

perl update RHSA-2008:0522

Hi All, I can't find from RHN the complete instructions with this perl update. Does it need reboot after the update? Thanks in advance. (1 Reply)
Discussion started by: itik
1 Replies

2. Linux

perl update while script is loaded

Hi All, What will happen to the perl script loaded on the memory if I do perl update? Thanks. (1 Reply)
Discussion started by: itik
1 Replies

3. Shell Programming and Scripting

Perl: update lastmod in xml file

I'm trying to write a perl script that I can run as a cron job in root of my web server that will look for .shtml files get their last modified date and replace it in the sitemap_test.xml file. the problem is the substitution doesn't work and when I print to MYFILE it adds the lastmod to the end of... (3 Replies)
Discussion started by: skilodge
3 Replies

4. Shell Programming and Scripting

using Perl with rrdtool to create and update graphs

Hi guys, im having real difficulty getting my head around perl and rrdtool and was hoping someone could help I want to run a perl script from cron which retrieves the data every 5 mins, creates .rrd's if not already created, and updates the DS from the reultsHash or $key, then creates the... (2 Replies)
Discussion started by: jeffersno1
2 Replies

5. Shell Programming and Scripting

perl script to update a xml file

Hi experts, I have a set of xml files in folder which has the below field. <mm:sessionID>157.235.206.12900397BE4:A</mm:sessionID>, I need to update this field regularly with new session id, which I have it from a login file. Can anyone tell me how to add a new value in <mm:sessionID>... (3 Replies)
Discussion started by: amvarma77
3 Replies

6. UNIX for Advanced & Expert Users

perl and HP-UX : instmodsh in combination with software depot : update inventory for installed Perl

we create a HP-UX software depot with a new perl-modul. after installation of the software depot, the perl module i can't find with instmodsh in the inventory for installed Perl modules. - i have learned of using instmodsh command : i find out what modules are already installed on my system. ... (0 Replies)
Discussion started by: bora99
0 Replies

7. Shell Programming and Scripting

Perl help - how to assign output of perl to variable

Hi, guys, i have a script i inherited from a coworker but i'm not perl savy. The script works but i would like it to work better. I want to run this command ./ciscomgrtest.pl -r "show version" -h hosts.router and have the script goto each router in the hosts.router file and run the command... (2 Replies)
Discussion started by: whipuras
2 Replies

8. Shell Programming and Scripting

How to write a update query in perl script?

can any one suggest me on how to write a update query in perl script for Oracle database and also tell me abt how we can write a code for sending mails with report as attachment to appropriate persons? (1 Reply)
Discussion started by: Ramesh V Kumar
1 Replies

9. Shell Programming and Scripting

Update perl code with parser

The below perl code imports the data in the attached document. However, I can not seem to update the perl code to include a parser like in the desired tab of that document. Thank you :). Most of the data for the parse is included in the document except for the gene and RNA which can is... (0 Replies)
Discussion started by: cmccabe
0 Replies

10. Shell Programming and Scripting

Need solution to compare two file and update and append the output

Hi All, I have two files File1 frame,007C1 server1_Parent frame,007C3 server2_Silver frame,007EE server3_Bronze frame,00855 server4_Parent frame,00856 server4_Parent frame,00858 server5_Parent frame,008FA server6_Silver frame,008FB server6_Silver frame,008FC server6_Silver... (2 Replies)
Discussion started by: ranjancom2000
2 Replies
Term::Cap(3pm)						 Perl Programmers Reference Guide					    Term::Cap(3pm)

NAME
Term::Cap - Perl termcap interface SYNOPSIS
require Term::Cap; $terminal = Tgetent Term::Cap { TERM => undef, OSPEED => $ospeed }; $terminal->Trequire(qw/ce ku kd/); $terminal->Tgoto('cm', $col, $row, $FH); $terminal->Tputs('dl', $count, $FH); $terminal->Tpad($string, $count, $FH); DESCRIPTION
These are low-level functions to extract and use capabilities from a terminal capability (termcap) database. More information on the terminal capabilities will be found in the termcap manpage on most Unix-like systems. METHODS The output strings for Tputs are cached for counts of 1 for performance. Tgoto and Tpad do not cache. "$self->{_xx}" is the raw termcap data and "$self->{xx}" is the cached version. print $terminal->Tpad($self->{_xx}, 1); Tgoto, Tputs, and Tpad return the string and will also output the string to $FH if specified. Tgetent Returns a blessed object reference which the user can then use to send the control strings to the terminal using Tputs and Tgoto. The function extracts the entry of the specified terminal type TERM (defaults to the environment variable TERM) from the database. It will look in the environment for a TERMCAP variable. If found, and the value does not begin with a slash, and the terminal type name is the same as the environment string TERM, the TERMCAP string is used instead of reading a termcap file. If it does begin with a slash, the string is used as a path name of the termcap file to search. If TERMCAP does not begin with a slash and name is different from TERM, Tgetent searches the files $HOME/.termcap, /etc/termcap, and /usr/share/misc/termcap, in that order, unless the environment variable TERMPATH exists, in which case it specifies a list of file pathnames (separated by spaces or colons) to be searched instead. Whenever multiple files are searched and a tc field occurs in the requested entry, the entry it names must be found in the same file or one of the succeeding files. If there is a ":tc=...:" in the TERMCAP environment variable string it will continue the search in the files as above. The extracted termcap entry is available in the object as "$self->{TERMCAP}". It takes a hash reference as an argument with two optional keys: OSPEED The terminal output bit rate (often mistakenly called the baud rate) for this terminal - if not set a warning will be generated and it will be defaulted to 9600. OSPEED can be be specified as either a POSIX termios/SYSV termio speeds (where 9600 equals 9600) or an old DSD-style speed ( where 13 equals 9600). TERM The terminal type whose termcap entry will be used - if not supplied it will default to $ENV{TERM}: if that is not set then Tgetent will croak. It calls "croak" on failure. Tpad Outputs a literal string with appropriate padding for the current terminal. It takes three arguments: $string The literal string to be output. If it starts with a number and an optional '*' then the padding will be increased by an amount relative to this number, if the '*' is present then this amount will me multiplied by $cnt. This part of $string is removed before output/ $cnt Will be used to modify the padding applied to string as described above. $FH An optional filehandle (or IO::Handle ) that output will be printed to. The padded $string is returned. Tputs Output the string for the given capability padded as appropriate without any parameter substitution. It takes three arguments: $cap The capability whose string is to be output. $cnt A count passed to Tpad to modify the padding applied to the output string. If $cnt is zero or one then the resulting string will be cached. $FH An optional filehandle (or IO::Handle ) that output will be printed to. The appropriate string for the capability will be returned. Tgoto Tgoto decodes a cursor addressing string with the given parameters. There are four arguments: $cap The name of the capability to be output. $col The first value to be substituted in the output string ( usually the column in a cursor addressing capability ) $row The second value to be substituted in the output string (usually the row in cursor addressing capabilities) $FH An optional filehandle (or IO::Handle ) to which the output string will be printed. Substitutions are made with $col and $row in the output string with the following sprintf() line formats: %% output `%' %d output value as in printf %d %2 output value as in printf %2d %3 output value as in printf %3d %. output value as in printf %c %+x add x to value, then do %. %>xy if value > x then add y, no output %r reverse order of two parameters, no output %i increment by one, no output %B BCD (16*(value/10)) + (value%10), no output %n exclusive-or all parameters with 0140 (Datamedia 2500) %D Reverse coding (value - 2*(value%16)), no output (Delta Data) The output string will be returned. Trequire Takes a list of capabilities as an argument and will croak if one is not found. EXAMPLES
use Term::Cap; # Get terminal output speed require POSIX; my $termios = new POSIX::Termios; $termios->getattr; my $ospeed = $termios->getospeed; # Old-style ioctl code to get ospeed: # require 'ioctl.pl'; # ioctl(TTY,$TIOCGETP,$sgtty); # ($ispeed,$ospeed) = unpack('cc',$sgtty); # allocate and initialize a terminal structure $terminal = Tgetent Term::Cap { TERM => undef, OSPEED => $ospeed }; # require certain capabilities to be available $terminal->Trequire(qw/ce ku kd/); # Output Routines, if $FH is undefined these just return the string # Tgoto does the % expansion stuff with the given args $terminal->Tgoto('cm', $col, $row, $FH); # Tputs doesn't do any % expansion. $terminal->Tputs('dl', $count = 1, $FH); COPYRIGHT AND LICENSE
Please see the README file in distribution. AUTHOR
This module is part of the core Perl distribution and is also maintained for CPAN by Jonathan Stowe <jns@gellyfish.com>. SEE ALSO
termcap(5) perl v5.18.2 2014-01-06 Term::Cap(3pm)
All times are GMT -4. The time now is 04:30 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy