Check for spaces in perl using regex match in perl

15,324

Solution 1

#!/usr/bin/env perl

use strict;
use warnings;

my $test = "ThisIsAVeryLongUnbreakableStringWhichIsBiggerThan20Characters";
if ( $test !~ /\s/ ) {
    print "No spaces found\n";
}

Please make sure to read about regular expressions in Perl.

Perl regular expressions tutorial - perldoc perlretut

Solution 2

You should have a look at the perl regex tutorial. Adapting their very first "Hello World" example to your question would look like this:

if ("ThisIsAVeryLongUnbreakableStringWhichIsBiggerThan20Characters" =~ / /) {
    print "It matches\n";
}
else {
    print "It doesn't match\n";
}

Solution 3

die "No spaces" if $test !~ /[ ]/;        # Match a space
die "No spaces" if $test =~ /^[^ ]*\z/;   # Match non-spaces for entire string

die "No whitespace" if $test !~ /\s/;     # Match a whitespace character
die "No whitespace" if $test =~ /^\S*\z/; # Match non-whitespace for entire string
Share:
15,324
bozo user
Author by

bozo user

Code and conquer the world!!!

Updated on November 22, 2022

Comments

  • bozo user
    bozo user over 1 year

    I have a variable how do I use the regex in perl to check if a string has spaces in it or not ? For ex:

    $test = "abc small ThisIsAVeryLongUnbreakableStringWhichIsBiggerThan20Characters";
    

    So for this string it should check if any word in the string is not bigger than some x characters.