Re: one liner for for and if

[email protected] (Rob Dixon)
Newsgroups perl.beginners
Message-ID <[email protected]>
Richard Lee wrote:
> #!/usr/bin/perl
> 
> use warnings;
> use strict;
> 
> my @array = qw/one two three four/;
> 
> print "$_\n" for @array last if "$_" eq q/three/;
> 
> 
> [root@server tmp]# ./!$
> ././././testthis2.pl
> syntax error at ././././testthis2.pl line 8, near "@array last "
> Execution of ././././testthis2.pl aborted due to compilation errors.
> 
> Can someone fix my last statement on this program?
> 
> I thought maybe this will work   but guess not... is there no easy way 
> to do this?
> 
> I don't want to do
> 
> for (@array) {
>      if .......
>      }
> }
> 
> 
> just trying to see what the correct format is that for one liner that I 
> am trying

And you want to write it in one line why?

print "$_\n" for grep /one/ .. /three/, @array;

But there's nothing wrong with

foreach (@array) {
  print "$_\n";
  last if /three/;
}

Rob
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.