The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
NAME
    WWW::Pastebin::PastebinCom::Create - paste on www.pastebin.com without
    API keys

WARNING!!!
    IMPORANT. Please read.

    You kinda, sorta, maybe shouldn't really use this module. Use
    WWW::Pastebin::PastebinCom::API instead. Pastebin.com switched to a
    key-based API (which is what "::API" version implements), and using
    this, keyless, module lets you paste only 10 pastes per day.

    The limit is higher with the WWW::Pastebin::PastebinCom::API module, so
    check it out.

    This module primarily exists for use with App::Nopaste.

SYNOPSIS
        use WWW::Pastebin::PastebinCom::Create;

        my $bin = WWW::Pastebin::PastebinCom::Create->new;

        # all options as defaults
        my $paste_uri = $bin->paste( text => 'Some text to paste' )
            or die $bin->error;

        # all options as custom (module's defaults are shown)
        my $paste_uri = $bin->paste(
            text    => 'Some text to paste',
            format  => 'none', # no syntax highlights
            expiry  => 'm',    # expire after a month
            private => 1,      # make the paste unlisted
            desc    => '',     # no "title/name" for the paste
        ) or die $bin->error;

        # object's ->paste_uri() method is overloaded to string interpolation:
        print "Your paste uri is $bin\n";

DESCRIPTION
    This module provides the means to paste on www.pastebin.com pastebin,
    without the need for API keys <http://pastebin.com/api>. See the
    WARNING!!! section above.

METHODS
  "new"
        my $bin = WWW::Pastebin::PastebinCom::Create->new;

    Creates and returns a brand new WWW::Pastebin::PastebinCom::Create
    object. Does not take any arguments.

  "paste"
        my $paste_uri = $bin->paste( text => 'Some text to paste' )
            or die $bin->error;

        $bin->paste(
            text    => 'Some text to paste',
            format  => 'perl', # perl syntax highlights
            expiry  => 'asap', # expire in 10 minutes
            private => 1,      # make the paste unlisted
            desc    => 'Some title',  # "title/name" for the paste
        ) or die $bin->error;

    Pastes to the pastebin. On succcess returns the link to the
    newly-created paste (see also the overloaded "->paste_uri" method
    below). On failure returns "undef" or an empty list, depending on the
    context, and the human-readable error message will be available via the
    "->error" method. Takes arguments as key/value pairs. Argument "text" is
    mandatory, the rest are optional. Possible arguments are as follows:

   "text"
        $bin->paste(
            text    => 'Some text to paste',
        ) or die $bin->error;

    Mandatory. Takes a string as a value that contains the text to paste.

   "private"
        $bin->paste(
            text    => 'Some text to paste',
            private => 1,      # make the paste unlisted
        ) or die $bin->error;

    Optional. This really should be named "unlisted", but for compatibility
    with old code is still named "private". Takes true or value as a value.
    If set to a true value, the paste will be "unlisted" (i.e. people will
    be able to access them if they have a link, but the paste will not be
    announced on the pastebin.com home page), otherwise the paste will be
    public and listed on the home page. To make private pastes, you need to
    be logged in; use WWW::Pastebin::PastebinCom::API if you need that
    feature. Defaults to: 1 (make pastes unlisted).

   "desc"
        $bin->paste(
            text    => 'Some text to paste',
            desc    => '',     # no "title/name" for the paste
        ) or die $bin->error;

    Optional. Takes a string as a value that specifies the title/name for
    the paste. If this string is longer than 60 characters, it will be
    truncated and "..." will be appended to the end of it. By default is not
    specified.

   "expiry"
        $bin->paste(
            text    => 'Some text to paste',
            expiry  => 'm',    # expire after a month
        ) or die $bin->error;

    Optional. Takes an expiry code as a value that specifies when the paste
    should expire. Defaults to: "m" (expire after a month). Valid expiry
    codes are as follows (there are multiple possible codes for each
    duration; they are equivalent):

        # Expire after 10 Minutes
        10m
        m10
        asap

        # Expire after 1 Hour
        h
        1h

        # Expire after 1 Day
        d
        1d
        soon

        # Expire after 1 Week
        w
        1w
        awhile

        # Expire after 2 weeks
        2w
        w2

        # Expire after 1 Month
        1m
        m
        m1
        eventually

        # Never expire
        n
        never

   "format"
        $bin->paste(
            text    => 'Some text to paste',
            format  => 'C++ (with QT extensions)',
        ) or die $bin->error;

    Optional. Takes a format code as a value that specifies the paste text
    format (what syntax highlights to use). Defaults to: "none" (no syntax
    highlights). Possible values are as follows; they are case-insensitive:

        None
        Bash
        C
        C#
        C++
        CSS
        HTML
        HTML 5
        Java
        JavaScript
        Lua
        None
        Objective C
        Perl
        PHP
        Python
        Rails
        4CS
        6502 ACME Cross Assembler
        6502 Kick Assembler
        6502 TASM/64TASS
        ABAP
        ActionScript
        ActionScript 3
        Ada
        ALGOL 68
        Apache Log
        AppleScript
        APT Sources
        ARM
        ASM (NASM)
        ASP
        Asymptote
        autoconf
        Autohotkey
        AutoIt
        Avisynth
        Awk
        BASCOM AVR
        Bash
        Basic4GL
        BibTeX
        Blitz Basic
        BNF
        BOO
        BrainFuck
        C
        C for Macs
        C Intermediate Language
        C#
        C++
        C++ (with QT extensions)
        C: Loadrunner
        CAD DCL
        CAD Lisp
        CFDG
        ChaiScript
        Clojure
        Clone C
        Clone C++
        CMake
        COBOL
        CoffeeScript
        ColdFusion
        CSS
        Cuesheet
        D
        DCL
        DCPU-16
        DCS
        Delphi
        Delphi Prism (Oxygene)
        Diff
        DIV
        DOS
        DOT
        E
        ECMAScript
        Eiffel
        Email
        EPC
        Erlang
        F#
        Falcon
        FO Language
        Formula One
        Fortran
        FreeBasic
        FreeSWITCH
        GAMBAS
        Game Maker
        GDB
        Genero
        Genie
        GetText
        Go
        Groovy
        GwBasic
        Haskell
        Haxe
        HicEst
        HQ9 Plus
        HTML
        HTML 5
        Icon
        IDL
        INI file
        Inno Script
        INTERCAL
        IO
        J
        Java
        Java 5
        JavaScript
        jQuery

  "error"
        $bin->paste( text => 'Some text to paste' )
            or die $bin->error;

    If an error occurs during pasting, the "->paste" method will return an
    "undef" or an empty list, depending on the context, and the
    human-readable error message will be available via the "->error" method.

  "paste_uri"
        $bin->paste( text => 'Some text to paste' )
            or die $bin->error;

        print "Your paste is at " . $bin->paste_uri . "\n";
        print "Your paste is at $bin\n";

    Takes no arguments. Will return the link to the newly-created paste,
    after a successful call to "->paste". This method is overloaded for
    string interpolation, meaning you can simply interpolate the
    "WWW::Pastebin::PastebinCom::Create" object in a string to insert the
    link to the paste.

NOTE ON VERSION 0.004 AND EARLIER
    At version 0.004, this module was taken out the back and shot in the
    face, as the www.pastebin.com update completely broke it. As some code
    still relied on it, it was resurrected and forced to work, but large
    bits of module's API have changed. If for whatever reason you need the
    old, non-working, implementation, you can still access it on backpan and
    can install it using:

        cpan http://backpan.perl.org/authors/id/Z/ZO/ZOFFIX/WWW-Pastebin-PastebinCom-Create-0.004.tar.gz

SEE ALSO
    WWW::Pastebin::PastebinCom::API, App::Nopaste

AUTHOR
    Zoffix Znet, "<zoffix at cpan.org>"

BUGS
    Please report any bugs or feature requests to
    "bug-www-pastebin-pastebincom-create at rt.cpan.org", or through the web
    interface at
    <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=WWW-Pastebin-PastebinCom
    -Create>. I will be notified, and then you'll automatically be notified
    of progress on your bug as I make changes.

SUPPORT
    You can find documentation for this module with the perldoc command.

        perldoc WWW::Pastebin::PastebinCom::Create

    You can also look for information at:

    *   RT: CPAN's request tracker (report bugs here)

        <http://rt.cpan.org/NoAuth/Bugs.html?Dist=WWW-Pastebin-PastebinCom-C
        reate>

    *   AnnoCPAN: Annotated CPAN documentation

        <http://annocpan.org/dist/WWW-Pastebin-PastebinCom-Create>

    *   CPAN Ratings

        <http://cpanratings.perl.org/d/WWW-Pastebin-PastebinCom-Create>

    *   Search CPAN

        <http://search.cpan.org/dist/WWW-Pastebin-PastebinCom-Create/>

LICENSE AND COPYRIGHT
    Copyright 2014 Zoffix Znet.

    This program is free software; you can redistribute it and/or modify it
    under the terms of the the Artistic License (2.0). You may obtain a copy
    of the full license at:

    <http://www.perlfoundation.org/artistic_license_2_0>

    Any use, modification, and distribution of the Standard or Modified
    Versions is governed by this Artistic License. By using, modifying or
    distributing the Package, you accept this license. Do not use, modify,
    or distribute the Package, if you do not accept this license.

    If your Modified Version has been derived from a Modified Version made
    by someone other than you, you are nevertheless required to ensure that
    your Modified Version complies with the requirements of this license.

    This license does not grant you the right to use any trademark, service
    mark, tradename, or logo of the Copyright Holder.

    This license includes the non-exclusive, worldwide, free-of-charge
    patent license to make, have made, use, offer to sell, sell, import and
    otherwise transfer the Package with respect to any patent claims
    licensable by the Copyright Holder that are necessarily infringed by the
    Package. If you institute patent litigation (including a cross-claim or
    counterclaim) against any party alleging that the Package constitutes
    direct or contributory patent infringement, then this Artistic License
    to you shall terminate on the date that such litigation is filed.

    Disclaimer of Warranty: THE PACKAGE IS PROVIDED BY THE COPYRIGHT HOLDER
    AND CONTRIBUTORS "AS IS' AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES.
    THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
    PURPOSE, OR NON-INFRINGEMENT ARE DISCLAIMED TO THE EXTENT PERMITTED BY
    YOUR LOCAL LAW. UNLESS REQUIRED BY LAW, NO COPYRIGHT HOLDER OR
    CONTRIBUTOR WILL BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, OR
    CONSEQUENTIAL DAMAGES ARISING IN ANY WAY OUT OF THE USE OF THE PACKAGE,
    EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.