Free Online Perl to Haskell Code Converter

Instantly convert code snippets from Perl to Haskell with our free online code converter. Transform your code easily and accurately.

PerlPerl Code

0/4000 characters

How to Use Our Perl to Haskell Code Converter

  1. Paste your Perl code snippet into the input box.
  2. Click the "Convert" button to transform your code.
  3. Our AI-powered converter will instantly translate your Perl code to Haskell.
  4. Copy the converted Haskell code and use it in your project.

Is Our Perl to Haskell Converter Secure?

We prioritize your code's security and privacy. Your code is not stored on our servers and is only temporarily processed for conversion. We use OpenAI's secure servers for the conversion process, ensuring your code remains confidential.

About Perl

Perl is a family of two high-level, general-purpose, interpreted programming languages.

About Haskell

Haskell is a purely functional programming language.

Palindrome Check Example: Perl vs Haskell

Palindrome Check in Perl

sub is_palindrome {
    my $str = shift;
    $str =~ s/[^a-zA-Z0-9]//g;
    $str = lc($str);
    return $str eq reverse($str);
}

# Example usage
print is_palindrome("A man, a plan, a canal: Panama") ? "true\n" : "false\n";
print is_palindrome("race a car") ? "true\n" : "false\n";

Palindrome Check in Haskell

import Data.Char (isAlphaNum, toLower)

isPalindrome :: String -> Bool
isPalindrome str = clean == reverse clean
  where clean = map toLower $ filter isAlphaNum str

main :: IO ()
main = do
  print $ isPalindrome "A man, a plan, a canal: Panama" -- True
  print $ isPalindrome "race a car" -- False

Bubble Sort Example: Perl vs Haskell

Bubble Sort in Perl

sub bubble_sort {
    my @arr = @_;
    my $n = scalar @arr;
    for my $i (0..$n-1) {
        for my $j (0..$n-$i-2) {
            if ($arr[$j] > $arr[$j+1]) {
                @arr[$j,$j+1] = @arr[$j+1,$j];
            }
        }
    }
    return @arr;
}

my @arr = (64, 34, 25, 12, 22, 11, 90);
print join(" ", bubble_sort(@arr)) . "\n";

Bubble Sort in Haskell

bubbleSort :: Ord a => [a] -> [a]
bubbleSort xs = foldr (\_ -> bubble) xs [1..length xs - 1]
  where
    bubble [] = []
    bubble [x] = [x]
    bubble (x:y:xs)
      | x > y     = y : bubble (x:xs)
      | otherwise = x : bubble (y:xs)

main :: IO ()
main = print $ bubbleSort [64, 34, 25, 12, 22, 11, 90]

More Perl Code Conversion Tools

PerlPerl→PythonPython

Convert Perl to Python

Open Converter

PerlPerl→JavaScriptJavaScript

Convert Perl to JavaScript

Open Converter

PerlPerl→TypeScriptTypeScript

Convert Perl to TypeScript

Open Converter

PerlPerl→JavaJava

Convert Perl to Java

Open Converter

PerlPerl→CC

Convert Perl to C

Open Converter

PerlPerl→C++C++

Convert Perl to C++

Open Converter

PerlPerl→C#C#

Convert Perl to C#

Open Converter

PerlPerl→GoGo

Convert Perl to Go

Open Converter

PerlPerl→DartDart

Convert Perl to Dart

Open Converter

PerlPerl→RubyRuby

Convert Perl to Ruby

Open Converter

PerlPerl→SwiftSwift

Convert Perl to Swift

Open Converter

PerlPerl→KotlinKotlin

Convert Perl to Kotlin

Open Converter

PerlPerl→RustRust

Convert Perl to Rust

Open Converter

PerlPerl→ScalaScala

Convert Perl to Scala

Open Converter

PerlPerl→PHPPHP

Convert Perl to PHP

Open Converter

PerlPerl→RR

Convert Perl to R

Open Converter

PerlPerl→JuliaJulia

Convert Perl to Julia

Open Converter

PerlPerl→MATLABMATLAB

Convert Perl to MATLAB

Open Converter

PerlPerl→LuaLua

Convert Perl to Lua

Open Converter

PerlPerl→AssemblyAssembly

Convert Perl to Assembly

Open Converter

PerlPerl→GroovyGroovy

Convert Perl to Groovy

Open Converter

PerlPerl→ElixirElixir

Convert Perl to Elixir

Open Converter

PerlPerl→F#F#

Convert Perl to F#

Open Converter

PerlPerl→ClojureClojure

Convert Perl to Clojure

Open Converter

PerlPerl→DelphiDelphi

Convert Perl to Delphi

Open Converter