package Camila::String;

use 5.006;
use strict;
use warnings;

use Camila::Boolean;
use Data::Dumper;

require Exporter;

our @ISA = qw(Exporter);
our %EXPORT_TAGS = ( 'all' => [ qw() ] );
our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } );
our @EXPORT = qw();
our $VERSION = '0.01';

BEGIN {
  Camila::Prototype::register('strcap', 'STR', ['STR','STR'],
			      sub{ "Camila::String::strcap($_[0][1],$_[1][1])" } );
}

sub new { return new_from_string(@_) }
sub new_from_string {
  my $string = shift;
  return bless( +{ string => $string })
}

sub strcap {
  my ($a,$b) = @_;
  return bless ( +{ string => $a->{string}.$b->{string} })
}

sub show { return $_[0]->{string} }
sub repr { return Dumper(shift) }

sub equal {
  my ($l,$r) = @_;
  if ($l->string eq $r->string) {
    return Camila::Boolean::true
  } else {
    return Camila::Boolean::false
  }
}
1;
__END__

=head1 NAME

Camila::String - Perl extension for blah blah blah

=head1 SYNOPSIS

  use Camila::String;
  blah blah blah

=head1 DESCRIPTION

Stub documentation for Camila::String, created by h2xs. It looks like the
author of the extension was negligent enough to leave the stub
unedited.

Blah blah blah.

=head1 AUTHOR

Alberto Simões, E<lt>albie@alfarrabio.di.uminho.ptE<gt>

=head1 SEE ALSO

L<perl>.

=cut
