| package pujHa'ghach::Dotlh; |
| |
| # Translator notes: Dotlh = status |
| |
| # Ideally this should be le'wI' - Thing that is exceptional. ;) |
| # Unfortunately that results in a file called .pm, which may cause |
| # problems on some filesystems. |
| |
| use strict; |
| use warnings; |
| |
| use base qw(autodie::exception); |
| |
| sub stringify { |
| my ($this) = @_; |
| |
| my $error = $this->SUPER::stringify; |
| |
| return "QaghHommeyHeylIjmo':\n" . # Due to your apparent minor errors |
| "$error\n" . |
| "lujqu'"; # Epic fail |
| |
| |
| } |
| |
| 1; |
| |
| __END__ |
| |
| # The following was a really neat idea, but currently autodie |
| # always pushes values in $! to format them, which loses the |
| # Klingon translation. |
| |
| use Errno qw(:POSIX); |
| use Scalar::Util qw(dualvar); |
| |
| my %translation_for = ( |
| EPERM() => q{Dachaw'be'}, # You do not have permission |
| ENOENT() => q{De' vItu'laHbe'}, # I cannot find this information. |
| ); |
| |
| sub errno { |
| my ($this) = @_; |
| |
| my $errno = int $this->SUPER::errno; |
| |
| warn "In tlhIngan errno - $errno\n"; |
| |
| if ( my $tlhIngan = $translation_for{ $errno } ) { |
| return dualvar( $errno, $tlhIngan ); |
| } |
| |
| return $!; |
| |
| } |
| |
| 1; |
| |
| |