#!/usr/bin/perl # @vendor Chorke Academia, Inc. # @web https://cdn.chorke.org/docs/academia # @version 1.0.00 # @since 1.0.00 use warnings; use strict; use 5.010; =pod export app='PWa';export dir='ui.pwa';\ perl <(curl -s 'https://cdn.chorke.org/repo/cmd/sencha/mavenify.ps.txt') =cut =pod Square =cut { package Square; sub new{ my $class = shift; my $self = { 'length' =>shift }; bless $self, $class; return $self; } sub getPerimeter{ my $self = shift; return 4*$self->{'length'}; } sub getArea{ my $self = shift; return $self->{'length'}*$self->{'length'}; } } =pod Rectangle =cut { package Rectangle; sub new{ my $class = shift; my $self = { 'length' =>shift, 'width' =>shift }; bless $self, $class; return $self; } sub getPerimeter{ my $self = shift; return 2*($self->{'length'} + $self->{'width'}); } sub getArea{ my $self = shift; return $self->{'length'}*$self->{'width'}; } } sub welcome{ my ($app) = @_; my $msg = "Welcome to $app!\n"; return $msg; } sub message{ my ($app, $dir) = @_; my $body = <<"EOF"; Application: $app Location : $dir EOF return $body; } sub init { my $app = $ENV{'app'}; my $dir = $ENV{'dir'}; print "\n"; print welcome($app); print message($app, $dir); print "\n"; my $sq = new Square(10); print "Perimeter : ", $sq->getPerimeter(),"\n"; print "Area : ", $sq->getArea(),"\n"; my $ra = new Rectangle(10, 2); print "Perimeter : ", $ra->getPerimeter(),"\n"; print "Area : ", $ra->getArea(),"\n"; return undef; } init();