Amp-Client

 view release on metacpan or  search on metacpan

lib/Amp/Util/Strings.pm  view on Meta::CPAN

    return $string;
}

sub removeAllWhitespace {
    my $self = shift;
    my $string = shift;
    if (defined $string) {
        $string =~ s/\s+//g;
    }
    return $string;
}

# Remove all newlines from a string
sub chomp {
    my $self = shift;
    my $string = shift;
    if (defined $string) {
        $string =~ s/\R//g;
    }
    return $string;
}

sub uriEncode {
    my $self = shift;
    my $string = shift;
    my $opts = shift;
    if (defined $string) {
        if ($opts->{chomp}) {
            #            $string = $self->chomp($string);
            $string =~ s/\R//g;
        }
        if ($opts->{trim}) {
            $string = $self->trim($string);
        }
        $string = uri_escape($string);
    }
    return $string;
}

sub uriDecode {
    my $self = shift;
    my $string = shift;
    if (defined $string) {
        $string = uri_unescape($string);
    }
    return $string;
}

sub clean {
    my $self = shift;
    my $string = shift;
    $string =~ s/\R//g;
    $string = $self->trim($string);
    return $string;
}

sub json_encode {
    my $self = shift;
    my $string = shift;
    my $opts = shift;
    my $json = JSON->new->allow_nonref->allow_blessed->utf8;
    if ($opts->{pretty}) {
        $json->pretty(1);
    }
    if ($opts->{indent}) {
        $json->indent(1);
    }
    if ($opts->{canonical}) {
        $json->canonical(1);
    }
    if (defined $string) {
        $string = $json->encode($string);
    }
    return $string;
}

sub json_decode {
    my $self = shift;
    my $string = shift;
    my $json = JSON->new->allow_nonref->allow_blessed->utf8;
    my $data;
    if (defined $string) {
        $data = $json->decode($string);
    }
    return $data;
}

sub quote {
    my $self = shift;
    my ($s) = @_;
    $s = '' if !defined $s;
    $s =~ s/\\\\/\\/g;
    $s =~ s/\'/\\'/g;
    $s =~ s/\"/\\"/g;
    $s =~ s/\x08/\\b/g;
    $s =~ s/\n/\\n/g;
    $s =~ s/\r/\\r/g;
    $s =~ s/\t/\\t/g;
    $s =~ s/\x1A/\\Z/g;

    return "'$s'";
}

1;



( run in 2.018 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )