Question: I am completely new to the Perl programming.
I am trying the split function.
Here is my code: 

```
#!perl;
use strict;
use warnings;
use Data::Dumper;

my @sections = ("Hard Drive", "Multi Drive");
foreach my $secname (sort @sections) 
{
    my $file_name=split / /, $secname;
    print $file_name;
}

```

so I am trying to get the output like only second word only.

output is 
`22`

The expected output is:

```
drive
drive

```

Here I am trying to get second word but it is not giving the expected output.

Please anyone suggest and help me.

Answer: 
As @Сухой27 has [commented](https://stackoverflow.com/questions/31936393/perl-split-function-for-the-first-word#comment51783715_31936393) and from [split doc](http://perldoc.perl.org/functions/split.html):

> 
> Splits the string EXPR into a list of strings and returns the list in list context, or the size of the list in scalar context.
> 
> 
> 

so you can do like this by creating list context:

```
my @sections = ("Hard Drive", "Multi Drive");

foreach my $secname (sort @sections) 
{
    my ($first, $file_name) = split / /, $secname;
    print $file_name, "\n";
}

```

or if you don't want extra variable just define it as `undef`:

```
my (undef, $file_name) = split / /, $secname;

```

or assigning into an array: 

```
my @file_name = split / /, $secname;
print $file_name[1], "\n";

```

or you can use list slice:

```
my $file_name = (split / /, $secname)[1];

```
split converts scalar to list. You tried to split the each values of an list. 

The output `22` results because, it displays the total number of scalar in an list.

For example 

```
@ar = qw(1 4);
$aa = @ar;
print $aa;

```

It results `2`. The same think was rises in your problem.

So you store the splitting value into an array. And the print the expected output by the index key of array.

Try this

```
use strict;
use warnings;
use Data::Dumper;

my @sections = ("Hard Drive", "Multi Drive");
foreach my $secname (sort @sections) 
{
    my @file_name=split / /, $secname;
    print $file_name[1],"\n";
}

```