Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot

Re: Do not understand code

by haukex (Abbot)
on Sep 28, 2017 at 10:03 UTC ( #1200255=note: print w/replies, xml ) Need Help??

in reply to Do not understand code

unlink $file if /.BGV/; ... what does this 'if' means? What condition is it?

The if after a statement is a statement modifier, it is the equivalent of if (/.BGV/) { unlink $file }. The condition is equivalent to $_ =~ /.BGV/, that is, match the special variable $_ against the regex /.BGV/. The special variable $_ gets set in several places, one very common one is the while (<$filehandle>) { ... } loop, see I/O Operators. That line of code in English: If the string stored in $_ contains the four-character sequence of any character (except newline) followed by the string 'BGV', then unlink (delete) the file whose name is given in the string $file.

Replies are listed 'Best First'.
Re^2: Do not understand code
by BlackKnait (Novice) on Sep 28, 2017 at 10:20 UTC
    Thanks for this detailed answer. I knew its possible to ask for a condition like $_ ~= <regex> - but this notation is new for me. With this information I understand this snippet.

      Note that you reversed the operator. Itís not ~=, itís =~.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1200255]
[Your Mother]: s/a /at /;
[LanX]: just watch the video ...
[Your Mother]: Roger, will co.
[Your Mother]: The good news is, they think they are influencing people but Americans at least are irretrievably biased. All that can be accomplished is a little spike in domestic violence. :P

How do I use this? | Other CB clients
Other Users?
Others chanting in the Monastery: (11)
As of 2018-03-19 13:25 GMT
Find Nodes?
    Voting Booth?
    When I think of a mole I think of:

    Results (240 votes). Check out past polls.