Ankit
Ankit

Reputation: 21

Text::ParseWords->quotewords() does not work in case of single quote in a string in perl

I tried something like this :

use Text::ParseWords;

my $var="Id;Id2;my name 'is Ankit;code";

my @temp = quotewords('\;',1,$var);

my $length = scalar @temp;

print "$length\n";

I can use split() but it does not work in case of - "Id;Id2;"my name is ;Ankit";code". Any suggestions ?

Upvotes: 2

Views: 756

Answers (1)

Chankey Pathak
Chankey Pathak

Reputation: 21676

You have to escape the single quote.

use strict;
use warnings;
use Text::ParseWords;
my $var = q{Id;Id2;my name \'is Ankit;code};
my @words = quotewords('\;', 0, $var);
print scalar @words; #prints 4

Upvotes: 1

Related Questions