Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?

Perl script to decode MySQL ENCODE() function

by Martin90 (Sexton)
on Jul 22, 2013 at 11:14 UTC ( #1045629=perlquestion: print w/replies, xml ) Need Help??
Martin90 has asked for the wisdom of the Perl Monks concerning the following question:

Hello, I am looking for perl script which can decode MySQL ENCODE() function. Thanks in advance.
  • Comment on Perl script to decode MySQL ENCODE() function

Replies are listed 'Best First'.
Re: Perl script to decode SQL ENCODE function
by Loops (Curate) on Jul 22, 2013 at 11:36 UTC

    Don't see a CPAN module that does this explicitly. However, the SQL Server Documentation says there are very few characters encoded, and they're all covered by URI::Escape. So, untested but may work for ya:

    use URI::Escape; print uri_unescape(">>>%5C %2F %3A %25 %3C %3E %2A %3F %5B %5D %7C<<<" +);
    UGH... that is actually powershell documentation... Do you have an example of an encoded string?
      I changed topic I was thinking about MySQL ENCODE() function. Here is example: string test after ENCODE() =>

        Could you give an actual code example, i'm not sure what you're saying. It appears from the MySQL documentation that the ENCODE function requires 2 parameters, but you haven't mentioned that. Anyway, likely the best way is to just connect to MySQL and perform the operation, for example:

        use strict; use warnings; use DBI; my $dsn = 'DBI:mysql:host=localhost'; my $dbh = DBI->connect($dsn); my $sth = $dbh->prepare("SELECT DECODE('encodedcontent', 'secretvalue' +)"); $sth->execute; my $decoded = $sth->fetchrow; print $decoded;

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://1045629]
Approved by Lotus1
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others cooling their heels in the Monastery: (4)
As of 2018-01-24 09:28 GMT
Find Nodes?
    Voting Booth?
    How did you see in the new year?

    Results (256 votes). Check out past polls.