#!/usr/local/bin/perl -w
###########################################
# clipboard-stack
# Mike Schilli, 2012 (m@perlmeister.com)
###########################################
use strict;
use local::lib;
use Clipboard;
use YAML qw(DumpFile LoadFile);

my($home) = glob "~";
my $clipboard = "$home/.clipboard";

my $stack = [];
$stack = LoadFile( $clipboard ) if 
   -f $clipboard;

my( $command ) = @ARGV;

die "usage: $0 [push|pop]" if 
  !defined $command;

{
  no strict 'refs';
  &$command( $stack );
}

DumpFile( $clipboard, $stack );

###########################################
sub push {
###########################################
    my($stack) = @_;

    push @$stack, Clipboard->paste;
}

###########################################
sub pop {
###########################################
    my($stack) = @_;

    Clipboard->copy( pop @$stack );
}
