package Acme::Hello; $Acme::Hello::VERSION = '0.05'; use strict; use Acme::Hello::I18N; use Exporter; use base 'Exporter'; use vars '@EXPORT'; @EXPORT = 'hello'; =head1 NAME Acme::Hello - Print a greeting message =head1 VERSION This document describes version 0.04 of B. =head1 SYNOPSIS use Acme::Hello; # exports hello() by default hello(); # procedure call interface my $obj = Acme::Hello->new; $obj->hello; # object-oriented interface =cut sub new { my ($class, %args) = @_; $class = ref($class) if (ref $class); $args{lh} ||= Acme::Hello::I18N->get_handle($args{language}) or die "Cannot find handle for language: $args{language}.\n"; return bless(\%args, $class); } sub hello { my $self = ref($_[0]) ? $_[0] : __PACKAGE__->new; print $self->loc("Hello, world!"), "\n"; } sub lh { my $self = shift; $self->{lh} = shift if @_; return $self->{lh}; } sub loc { my $self = shift; return $self->lh->maketext(@_); } 1; __END__ =head1 CC0 1.0 Universal To the extent possible under law, 唐鳳 has waived all copyright and related or neighboring rights to Acme-Hello. This work is published from Taiwan. L =cut