Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"

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
[jedikaiti]: Martian Shiney!

How do I use this? | Other CB clients
Other Users?
Others contemplating the Monastery: (6)
As of 2017-07-21 15:20 GMT
Find Nodes?
    Voting Booth?
    I came, I saw, I ...

    Results (326 votes). Check out past polls.