On Jan 27, 10:49 am, [EMAIL PROTECTED] (Chas. Owens) wrote:
> On Jan 26, 2008 10:46 PM,  <[EMAIL PROTECTED]> wrote:
>
> > On Jan 22, 2:31 am, [EMAIL PROTECTED] (Brian D Foy) wrote:
> > > [[ This message was both posted and mailed: see
> > >    the "To," "Cc," and "Newsgroups" headers for details. ]]
>
> > > In article
> > > <012120080315.17779.47940E4B0005B0340000457322007507440B0B9A0300979D9D0E
>
> > > [EMAIL PROTECTED]>, <[EMAIL PROTECTED]> wrote:
> > > > Is there a module that will let one manipulate a Mac OS X pasteboard? 
> > > > There
> > > > does not seem to be anything on CPAN that strikes me as being for that
> > > > purpose.
>
> > > I'd like to have such a thing, although you should call it
> > > Mac::Clipboard :)
>
> > I dithered about this. The arguments as I see them are:
>
> > For Mac::Clipboard
>
> > 1) That's what most people call the thing.
>
> > For Mac::Pasteboard
>
> > 1) It's what the Apple documentation calls it.
>
> > 2) There's a lot more to it than (e.g.) Win32::Clipboard. For one
> > thing, there's more than one of them -- in fact, as many as you like.
> > Each can have multiple data items, with data in multiple flavors.
>
> snip
>
> Why choose?  Write Mac::Pasteboard with all of the bells and whistles
> and then write Mac::Clipboard using Mac::Pasteboard to expose only the
> clipboard.  In the SEE ALSO section you can reference Mac::Pasteboard
> and people who need the advanced functionality can find it.

Interesting thought. The straightforward implementation would be to
have Mac::Clipboard depend on Mac::Pasteboard (since there's no
simplified clipboard interface that I have found). But it seems un-
parsimonious to me to use namespace for maybe a dozen lines of Perl,
since right now the "clipboard" part is on the order of

my %pb_cache;

sub pbcopy {
    my $pb = $pb_cache{kPasteboardClipboard} ||= __PACKAGE__->new
(kPasteboardClipboard);
    $pb->copy (@_);
}

sub pbpaste {
    my $pb = $pb_cache{kPasteboardClipboard} ||= __PACKAGE__->new
(kPasteboardClipboard);
    $pb->paste (@_);
}

But thanks for the suggestion.

Tom Wyant

Reply via email to