You could use ANSI escape sequnce to move cursor up as shown below
#!/usr.bin/perl -w
#use Win32::Console::ANSI; #you only need this if you are on Windows NT/2000/XP, they does not support ANSI escape sequences in Win32 Console applications
print "Please enter your first name\n";
chomp($first_name = <STDIN>);
print "Please enter your last name\n";
chomp($last_name=<STDIN>);
print "Please enter a temperature in fahrenheit\n";
chomp($f_temp=<STDIN>);
$c_temp = (($f_temp - 32) * 5 )/9;
print "\e[8A"; #move cursor up 8 lines
print "Thank You $first_name $last_name, $f_temp degrees Fahrenheit is $c_temp degrees Celsius\n";
print "\e[8B"; #move cursor up 8 lines
Main Topics
Browse All Topics





by: mjcoynePosted on 2006-02-11 at 08:05:02ID: 15930837
Could you nre-phrase the question, please? I don't understand how you can expect to get the output to display before the input, as the input (degrees F) is needed to calculate the output (degrees C). Added a few tweaks to your code:
#!/usr/bin/perl -w
use strict;
print "Please enter your first name: ";
my $first_name = <STDIN>;
chomp ($first_name);
$first_name = ucfirst($first_name);
print "Please enter your last name: ";
my $last_name=<STDIN>;
chomp ($last_name);
$last_name = ucfirst($last_name);
print "Please enter a temperature in Fahrenheit: ";
my $f_temp=<STDIN>;
chomp ($f_temp);
my $c_temp = sprintf ("%.2f", (($f_temp - 32) * 5 )/9);
print "Thank you $first_name $last_name, $f_temp degrees Fahrenheit is $c_temp degrees Celsius\n";print "Thank You $first_name $last_name, $f_temp degrees Fahrenheit is $c_temp degrees Celsius\n";