in reply to next unless not working

The OP wants to print all the lines except "Java" but nobody seems to have noticed that the logic is reversed and will print only "Java." Doing

while ( <FH> ) { print unless /^Java\z/; }

should suffice. The task could be done as one-liner.

johngg@aleatico:~$ cat langs Fortran JavaScript Cobol Go Java Haskell johngg@aleatico:~$ perl -ne 'print unless /^Java\z/' langs Fortran JavaScript Cobol Go Haskell

I hope this is helpful.

Update: Added JavaScript and updated regex as per choroba's comment.

Cheers,

JohnGG

Replies are listed 'Best First'.
Re^2: next unless not working
by choroba (Cardinal) on Feb 05, 2025 at 23:30 UTC
    JavaScript is missing in the list. *wink*

    map{substr$_->[0],$_->[1]||0,1}[\*||{},3],[[]],[ref qr-1,-,-1],[{}],[sub{}^*ARGV,3]
Re^2: next unless not working
by Fletch (Bishop) on Feb 05, 2025 at 22:19 UTC

    Derp; three edits and two other follow-ups later and I hadn’t noticed that either. Good catch.

    The cake is a lie.
    The cake is a lie.
    The cake is a lie.