#!/usr/bin/perl use lib 'lib', '../lib'; package File::Temp::JPEG; use Moose; use MooseX::ExtendsNonMoose; extends 'File::Temp', 'MooseX::GlobRef::Object'; extends_non_moose; use constant::boolean; has 'SUFFIX' => (is => 'ro', isa => 'Str'); sub new_with_suffix { my $class = shift; return $class->new( UNLINK => FALSE, SUFFIX => '.jpg', @_ ); }; package main; my $jpg = File::Temp::JPEG->new_with_suffix; print "Temporary file: $jpg\n";