my @arr = split /\Q$ele\E/, $var; #### #!/usr/bin/perl # vim: sw=4 use strict; use warnings; use Data::Dumper; my $var = "21|23|24~|34|45|56~"; my @arr = split("", $var); my $sep = $arr[2]; my $ele = $arr[8]; my @ar = split(/\Q$sep\E/, $var); print Dumper \@ar; bruce:1:~/tmp $ ./p.pl $VAR1 = [ '21', '23', '24~', '34', '45', '56~' ]; bruce:1:~/tmp $