java-perl.txt
=java
import java.io.*;
public class CalcRect2 {
public static void main(String[] args) throws IOException {
BufferedReader in;
in = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Enter x: ");
float x = Float.valueOf(in.readLine().trim()).floatValue();
System.out.println("Enter y: ");
float y = Float.valueOf(in.readLine().trim()).floatValue();
float circumference = 2*(x+y);
float area = x*y;
System.out.println("Circumference: " + Float.toString(circumference));
System.out.println("Area: " + Float.toString(area));
}
}
=cut
#moosex-declare
use feature qw/say/;
use MooseX::Declare;
class CalcRect2 {
use IO::Prompt;
has x => ( is => 'rw', isa => 'Num', default => 0 );
has y => ( is => 'rw', isa => 'Num', default => 0 );
method main () {
$self->x("" .prompt("Enter x: "));
$self->y("" .prompt("Enter y: "));
my $circumference = 2 * ($self->x + $self->y);
my $area = $self->x * $self->y;
say "Circumference: $circumference";
say "Area: $area";
}
}
CalcRect2->new->main;
#plain perl
use strict;
use warnings;
print "Enter x: ";
my $x = read_num();
print "Enter y: ";
my $y = read_num();
my $circumference = 2 * ($x + $y);
my $area = $x * $y;
print "Circumference: $circumference\n";
print "Area: $area\n";
sub read_num {
return $1 if <STDIN> =~ /(\d+(?:.\d+)?)/;
die "Not a number\n";
}